MessageListener.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from hub import methods, Global
  2. import threading
  3. import time
  4. import json
  5. import os
  6. class MessageListener:
  7. """
  8. """
  9. @classmethod
  10. def run(cls, background_is=True):
  11. from lib.UserWorkRecord import UserWorkRecord
  12. UserWorkRecord.init()
  13. # from lib.MessageListenerZJV1 import subscribe_Veh0533
  14. # from lib.MessageListenerZJV2 import subscribe_Veh0534
  15. # from lib.MessageListenerZJV3 import subscribe_Veh0535
  16. # from lib.MessageListenerZJV4 import subscribe_Veh0537
  17. # from lib.MessageListenerZJV5 import subscribe_Veh0538
  18. # todo 创建多个实例,根据不同项目现场,创建不同的监听消息的话题,以及指定对应解析使用的方法;
  19. from lib.TopicListener import TopicListener
  20. thread_list = [
  21. threading.Thread(target=TopicListener(
  22. 'Cockpit/CanBus/CanId001/Cop001',
  23. 'method_c001',
  24. )),
  25. threading.Thread(target=TopicListener(
  26. 'Vehicle/ControlVehicle/Veh001',
  27. 'method_v001',
  28. )),
  29. # threading.Thread(target=subscribe_Veh0533),
  30. # threading.Thread(target=subscribe_Veh0534),
  31. # threading.Thread(target=subscribe_Veh0535),
  32. # threading.Thread(target=subscribe_Veh0537),
  33. # threading.Thread(target=subscribe_Veh0538),
  34. ]
  35. for thread in thread_list:
  36. thread.setDaemon(True)
  37. thread.start()
  38. if background_is:
  39. return
  40. for thread in thread_list:
  41. thread.join()
  42. if __name__ == '__main__':
  43. # --- test ---
  44. MessageListener.run()