__init__.py 799 B

123456789101112131415161718192021222324252627282930
  1. """MQTT module for Dune Weaver application."""
  2. from .factory import create_mqtt_handler
  3. import logging
  4. logger = logging.getLogger(__name__)
  5. # Global MQTT handler instance
  6. mqtt_handler = None
  7. def init_mqtt():
  8. """Initialize the MQTT handler."""
  9. global mqtt_handler
  10. logger.info("initializing mqtt module")
  11. if mqtt_handler is None:
  12. mqtt_handler = create_mqtt_handler()
  13. mqtt_handler.start()
  14. return mqtt_handler
  15. def get_mqtt_handler():
  16. """Get the MQTT handler instance."""
  17. global mqtt_handler
  18. if mqtt_handler is None:
  19. mqtt_handler = init_mqtt()
  20. return mqtt_handler
  21. def cleanup_mqtt():
  22. """Clean up MQTT handler resources."""
  23. global mqtt_handler
  24. if mqtt_handler is not None:
  25. mqtt_handler.stop()
  26. mqtt_handler = None