2016-10-17 120 views
-1

我正在使用芹菜的django項目。我在名爲app1和app2的項目中有三個兩個大模塊。我爲兩臺獨立的機器上運行的應用程序創建了兩個芹菜應用程序。在app1和app2中有不同的任務,我想運行差異機器,它工作正常。但我的問題是我有一些periodic_tasks。我爲他們定義了一個名爲periodic_tasks的隊列。我想在單獨的第三臺機器上運行這些定期任務。或者在第三臺機器上,我只想運行週期性任務,而這些週期性任務不應該從其他兩臺機器上執行。是否有可能使用芹菜。僅在一臺機器上運行芹菜週期性任務

+0

如果您已設法配置celery,以便app1任務始終運行在與app2任務不同的計算機上,爲什麼不能對週期性任務執行相同操作?應該沒有任何區別。 –

+0

週期性任務不在不同的應用程序中,如果這些任務與app1有關,那麼這些任務都在app1左右。 –

回答

0

在您的第三臺機器上,請確保使用-Q--queues選件啓動芹菜periodic_tasks。在app1和app2上,啓動沒有periodic_tasks隊列的芹菜。您可以在這裏閱讀有關隊列處理的更多信息:http://docs.celeryproject.org/en/latest/reference/celery.bin.worker.html#cmdoption-celery-worker-Q

+0

是的,我正在嘗試使用'celery -A proj -Q periodic_tasks',但是當我看到'芹菜inspect註冊'時,它會顯示我完整項目中所有任務的列表。 –

+0

嗯,是的,因爲所有的工人都有一個共同的經紀人,即使他們不處理所有的任務。 – 2ps

相關問題