diff --git a/apps/pulsegen/main.py b/apps/pulsegen/main.py index d45dfc0..7d69ed8 100644 --- a/apps/pulsegen/main.py +++ b/apps/pulsegen/main.py @@ -108,11 +108,13 @@ async def mqtt_worker(shutdown_event: asyncio.Event) -> None: await publish_example(client) # Message loop - async with client.messages() as messages: - async for message in messages: - if shutdown_event.is_set(): - break + async for message in client.messages: + if shutdown_event.is_set(): + break + try: await handle_message(message) + except Exception as e: + logger.error(f"Error in message handler: {e}", exc_info=True) except asyncio.CancelledError: logger.info("MQTT worker cancelled")