1

セロリの定期的なタスクを開始する方法は次のとおりです。まず、次のコマンドを実行します。

celery worker -A my_project.celery

そしてその後、このコマンド:

celery -A my_project beat -l info -S django

これら 2 つのコマンドを 2 つの異なるターミナル タブで実行すると、セロリ ビートの定期的なタスクが実行され始めます。説明されているコマンドのいずれかを実行しないと、定期的なタスクが実行されません。私の質問は次のとおりです。単一のコマンドでセロリを起動する方法はありますか、それとも runserver コマンドでさらに良い方法はありますか?

4

1 に答える 1

1

Celery の使用方法は正しいです。パラメータ-B, --beatを使用して、単一のコマンドを使用して Beat と Worker を開始できます。

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

ただし、本番環境ではこれを使用しないでください。Celery ドキュメント ( http://docs.celeryproject.org/en/latest/reference/celery.bin.worker.html )のこのメモを参照してください。

-B開発目的で使用するためのものです。本番環境ではセロリビートを別途起動する必要があります

いくつかのメモ: 1) Celery と一緒に実行する方法はないと思いrunserverます (正直なところ、それは良い考えではないと思います)。2)django-celeryあなたの質問にタグが表示されます。これは、Django と Celery を統合する古い非推奨の方法です。

このプロジェクトは、DJANGO の結果のバックエンドと管理者の統合を使用する場合にのみ必要です (ソース: https://github.com/celery/django-celery )

于 2017-04-21T11:19:54.790 に答える