@kondratev-ad

Как в aio-pika сделать подписчика и публикацию?

У меня есть асинхронный подписчик. Как сделать так, чтобы после получения сообщения, он отправлял бы его в другую очередь?

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())
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы