标签: python multithreading rabbitmq kombu
我有一个RabbitMQ交换,只有一个队列。我希望创建一个运行多个线程的守护进程,并尽快通过此队列。
“工作”涉及与外部服务进行通信,因此每个消费者中都会有相当多的阻止。因此,我希望有多个线程处理来自同一队列的消息。
我可以通过在主线程上使用队列来实现这一点,然后将传入的工作转移到其他线程池中,但是有没有办法在每个线程中启动多个消费者?
答案 0 :(得分:3)
查看celery - 它旨在从AMPQ代理排队和处理任务(但也可以与其他排队后端一起使用)。它处理多进程或多线程并发,使创建和使用任务变得非常容易。