import asyncio def register(app): @app.on_event("startup") async def start_consumers(): loop = asyncio.get_running_loop() await loop.create_task( app.in_app_mq_client.subscribe(max_retries=5, event_loop=loop) ) await loop.create_task( app.email_mq_client.subscribe(max_retries=5, event_loop=loop) ) await loop.create_task( app.sms_mq_client.subscribe(max_retries=5, event_loop=loop) ) @app.on_event("shutdown") async def stop_consumers(): loop = asyncio.get_running_loop() await loop.create_task(app.in_app_mq_client.close()) await loop.create_task(app.email_mq_client.close()) await loop.create_task(app.sms_mq_client.close())