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的