12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from hub import methods, Global
- import threading
- import traceback
- import time
- import json
- import os
- class MessageListener:
- """
- """
- @classmethod
- def run(cls, background_is=True):
- from lib.UserWorkRecord import UserWorkRecord
- UserWorkRecord.init()
- # from lib.MessageListenerZJV1 import subscribe_Veh0533
- # from lib.MessageListenerZJV2 import subscribe_Veh0534
- # from lib.MessageListenerZJV3 import subscribe_Veh0535
- # from lib.MessageListenerZJV4 import subscribe_Veh0537
- # from lib.MessageListenerZJV5 import subscribe_Veh0538
- # todo 创建多个实例,根据不同项目现场,创建不同的监听消息的话题,以及指定对应解析使用的方法;
- try:
- from lib.TopicListener import TopicListener
- t1 = TopicListener('Cockpit/CanBus/CanId001/Cop001', 'method_c001')
- t2 = TopicListener('Vehicle/ControlVehicle/Veh001', 'method_v001')
- thread_list = [
- threading.Thread(target=t1.subscribe),
- threading.Thread(target=t2.subscribe),
- # threading.Thread(target=subscribe_Veh0533),
- # threading.Thread(target=subscribe_Veh0534),
- # threading.Thread(target=subscribe_Veh0535),
- # threading.Thread(target=subscribe_Veh0537),
- # threading.Thread(target=subscribe_Veh0538),
- ]
- for thread in thread_list:
- thread.setDaemon(True)
- thread.start()
- if background_is:
- return
- for thread in thread_list:
- thread.join()
- except Exception as exception:
- methods.debug_log("app.xxxxxxxxxxxxxxx", f"#exception: {exception.__class__.__name__}")
- methods.debug_log("app.xxxxxxxxxxxxxxx", f"#traceback: {traceback.format_exc()}")
- if __name__ == '__main__':
- # --- test ---
- MessageListener.run()
|