2017-04-21 100 views
1

這是我如何啓動芹菜定期任務的方式。首先,我執行以下命令:我執行芹菜共享任務是否正確?

celery worker -A my_project.celery 

而且這種命令後:

celery -A my_project beat -l info -S django 

在兩個不同的終端執行的選項卡這兩個命令後,我打芹菜週期性任務開始運行。如果我不運行其中一個描述的命令,我的定期任務不會運行。我的問題是:有沒有什麼辦法可以用單個命令啓動芹菜,或者用runserver命令更好?

回答

1

您使用芹菜的方法是正確的。您可以使用參數-B, --beat開始毆打和使用單一命令工作人員:

# This will start worker AND beat process 
celery worker --app=my_project -l=INFO --beat -S django 

在生產中不使用此,請參閱本說明芹菜文檔(http://docs.celeryproject.org/en/latest/reference/celery.bin.worker.html):

-B意思用於開發目的。 對於生產環境,您需要單獨啓動芹菜拍打

幾點注意事項:1)我覺得沒有辦法運行芹菜和runserver在一起(老實說,我認爲這不是一個好主意); 2)我在你的問題中看到django-celery標記。這是和集成Django和芹菜的老過時的方式:

這個項目僅在需要你想使用Django結果BACKEND 和管理集成(來源:https://github.com/celery/django-celery

+1

謝謝主席先生!我的問題與這個問題無關,但由於你的回答,我已經能夠解決困擾我數星期的問題! –