from hub import methods, Global import threading 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 创建多个实例,根据不同项目现场,创建不同的监听消息的话题,以及指定对应解析使用的方法; from lib.TopicListener import TopicListener thread_list = [ threading.Thread(target=TopicListener( 'Cockpit/CanBus/CanId001/Cop001', 'method_c001', )), threading.Thread(target=TopicListener( 'Vehicle/ControlVehicle/Veh001', 'method_v001', )), # 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() if __name__ == '__main__': # --- test --- MessageListener.run()