Celery的mongoDB代理是否通过轮询工作?

时间:2013-05-06 09:59:55

标签: mongodb celery polling

Celery documentation for the mongoDB broker并未说明是否通过投票起作用。我在this blog post中读到了使用mongoDB可以实现pub / sub,但我不知道这是否是Celery的mongoDB代理所做的。

两个子问题:

  1. 如果经纪人通过轮询工作,频率是多少,我该如何配置呢?
  2. 如果代理使用tailable游标,它是否与分片兼容(按队列名称)。
  3. 非常感谢。

1 个答案:

答案 0 :(得分:1)

我看了一下源代码:Celery基于Kombu,从mongoDB传输源代码(kombu.transport.mongodb)来看,drain_events方法只是继承自kombu.transport.virtual.Transport类,它只是每秒轮询一次。

可以通过在传输选项中设置polling_interval属性来覆盖轮询间隔(请参阅this commit)。