2
我有5名工人命名为1-5和两个队列A和B,我需要为工人1和2分配队列A,并且为B分配3,4,5,我需要当A为空或1,2为空闲时,为队列B中的任务分配工人1和2。我需要在我的芹菜任务中使用django应用程序中的rabbitmq brocker进行配置。您可以指定如何根据上述逻辑Django芹菜多个工人和多个队列
我有5名工人命名为1-5和两个队列A和B,我需要为工人1和2分配队列A,并且为B分配3,4,5,我需要当A为空或1,2为空闲时,为队列B中的任务分配工人1和2。我需要在我的芹菜任务中使用django应用程序中的rabbitmq brocker进行配置。您可以指定如何根据上述逻辑Django芹菜多个工人和多个队列
所以配置队列的具体任务和运行工人,芹菜这是你需要什么:
celery multi start 5 -A conf -l info -Q:1-2 queueA -Q:3-5 queueB --pidfile="%n.pid"
对于Django的分配队列你有一个以上的方法: (我的设置是在CONF)中设置 通过任务应用程序/文件夹:
app.conf.task_routes = {
'appA.tasks.*': {'queue': 'queueA'},
'appB.tasks.*': {'queue': 'queueB'},
}
直接使用:
myTask.apply_async((2, 2), queue='queueA', countdown=10)
也许一些其他的,但对我来说我用这个方法:
app.conf.task_default_queue = 'queueA'
我用app.conf.task_routes
像cron的