import asyncio from app.services.common.service_base_async import ServiceBaseAsync PROCESS_SEC = 10 async def handle_mail_publish(svc: ServiceBaseAsync, job: dict): await asyncio.sleep(PROCESS_SEC) print("Parser Mail Consumer parsed:", job) # await svc.ack_current() # await svc.enqueue({"source": "parser-mail", "from_task": job}, "parser-mail-done", routing_key="parser.comment.publish") async def consume_default(svc: ServiceBaseAsync, job): print("Parser Mail Consumer default:", job) await asyncio.sleep(PROCESS_SEC) await svc.ack_current() async def produce(_svc: ServiceBaseAsync): print("Parser Mail Producer produce") await asyncio.sleep(PROCESS_SEC) if __name__ == "__main__": svc = ServiceBaseAsync(produce_fn=produce, consume_fn=consume_default, handlers={"mail.service.publish": handle_mail_publish}) asyncio.run(svc.run())