У меня есть асинхронный подписчик. Как сделать так, чтобы после получения сообщения, он отправлял бы его в другую очередь?
async def pars(msg, t):
await asyncio.sleep(t) #Модификация сообщения
return msg + str(t)
async def on_message(message: AbstractIncomingMessage) -> None:
async with message.process():
t = random.randint(5, 10)
msg = await pars(message.body, t)
................. # Дальше необходимо опубликовать msg в другую очередь
async def main() -> None:
connection = await connect("amqp://user:user@rabbit.ru:5672/")
async with connection:
channel = await connection.channel()
await channel.set_qos(prefetch_count=2)
queue = await channel.declare_queue(name='test_aio', auto_delete=False)
await queue.consume(on_message)
await asyncio.Future()
if __name__ == "__main__":
asyncio.run(main())