這是我如何啓動芹菜定期任務的方式。首先,我執行以下命令:我執行芹菜共享任務是否正確?
celery worker -A my_project.celery
而且這種命令後:
celery -A my_project beat -l info -S django
在兩個不同的終端執行的選項卡這兩個命令後,我打芹菜週期性任務開始運行。如果我不運行其中一個描述的命令,我的定期任務不會運行。我的問題是:有沒有什麼辦法可以用單個命令啓動芹菜,或者用runserver命令更好?
這是我如何啓動芹菜定期任務的方式。首先,我執行以下命令:我執行芹菜共享任務是否正確?
celery worker -A my_project.celery
而且這種命令後:
celery -A my_project beat -l info -S django
在兩個不同的終端執行的選項卡這兩個命令後,我打芹菜週期性任務開始運行。如果我不運行其中一個描述的命令,我的定期任務不會運行。我的問題是:有沒有什麼辦法可以用單個命令啓動芹菜,或者用runserver命令更好?
您使用芹菜的方法是正確的。您可以使用參數-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)
謝謝主席先生!我的問題與這個問題無關,但由於你的回答,我已經能夠解決困擾我數星期的問題! –