我试着用芹菜做一些应该相当简单的事情,但看不到明显的配置。
我有一个主主机和一些从主机。主主机运行Django应用程序,有时必须指示从站异步执行操作。任务需要由所有的奴隶来执行,并且不存在返回类型。
芹菜似乎是一个明显的选择。我对RabbitMQ的了解告诉我,我应该有一个场景,其中一个fanout交换应该存在于rMQ上,每个芹菜工作者都应该创建一个排他队列并绑定到这个交换。然后,主服务器发布的每个任务请求将排队进入每个工作人员,然后由每个从站执行。
然而,纵观所有的芹菜文档,它们似乎都围绕着这样的场景:每个执行相同任务的员工都绑定到同一个队列中。这不适用于fanout交换类型,因为fanout只是为每个连接的队列创建一条消息。
如果我使用的是pika和纯python,我只需调用类似于channel.queue_declare(exclusive=True)的东西,然后将其绑定到exchange,确保每个客户端都有自己的队列,并获得消息的副本。
你是怎么用芹菜做的?
发布于 2013-12-23 12:41:58
这是短的,因为我在我的电话。参见芹菜文档->用户指南->路由。您需要在Kombu的Broadcast实体执行您所描述的操作,并且在路由指南中有一个关于它的部分。
https://stackoverflow.com/questions/20720423
复制相似问题