【问题标题】:Start celery workers with multiple brokers与多个经纪人一起开始芹菜工人
【发布时间】:2015-12-09 15:06:50
【问题描述】:

目前,我有一个 celery.py 和一个 redis 代理

proj/celery.py

from __future__ import absolute_import

from kombu import Exchange, Queue
from celery import Celery

app = Celery('proj',
             broker='redis://myredis.com'
             backend='redis://myredis.com'
             include=['proj.tasks])

if __name__ == '__main__':
    app.start()

我会开始一个工人:

celery multi start somename -A proj -Q work -c20 --pidfile='somepidfile' --logfile='somelogfile'

在多台机器上(比如说 20..)

所以这些跨 20 台机器的工作人员使用一个代理,

'redis://myredis.com'

我想将其拆分,以便 10 台机器使用 'redis://myredis.com',其他 10 台机器使用 'redis://myredis2.com'

我需要做哪些改变才能做到这一点?

谢谢

【问题讨论】:

    标签: python redis celery


    【解决方案1】:

    一个简单的方法是让 DNS 以循环方式解析为 redis://myredis.comredis://myredis2.com。如果您有足够的工人,这应该大致平均分配 2 个经纪人。

    【讨论】:

      猜你喜欢
      • 2017-08-15
      • 2015-07-04
      • 2016-10-22
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多