To process incoming MQTT messages, I used asyncio.run_coroutine_threadsafe(coro, loop) to push messages into an asyncio.Queue for subsequent processing. Pure asyncio.