【发布时间】:2013-04-28 09:22:48
【问题描述】:
我遇到了一个用例,我想控制 celery 工作人员如何以及何时将任务从 rabbitmq 中取出来进行处理。出队将与 celery 上下文之外发生的外部事件同步,但我担心的是 celery 是否给我任何灵活性来控制任务的出队?我试图调查,以下是一些可能性:
使用
basic.get代替basic.consume,其中basic.get是根据外部事件触发的。但是,我看到 celery 默认为basic.consume(推送)语义。我可以在不直接修改核心的情况下覆盖此行为吗?在触发外部事件时自定义远程控制工作人员。但是,从文档中我不太清楚远程控制命令如何帮助我控制任务的出列。
我非常倾向于继续使用 celery,并且可能避免在 AMQP 之上编写自定义队列处理解决方案。
【问题讨论】:
标签: python erlang rabbitmq celery eventqueue