目前,我有一个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'
我需要做什么改变才能实现这一点?
感谢
实现这一点的一个简单方法是使用一个以循环方式解析为redis://myredis.com
和redis://myredis2.com
的DNS。如果你有足够的工人,这应该大致平均分配2个经纪人。