0

セロリをサービスとして実行しようとしていますが、CELERYBEAT_OPTS パラメーターに問題があります。セロリサービスを問題なく開始でき、次のようなコマンドラインからセロリビートを問題なく開始できます。

celery -A base beat -S djcelery.schedulers.DatabaseScheduler -l debug --pidfile=/tmp/celerybeat.pid

しかし、次のように celerybeat サービスを開始すると:

sudo service celerybeat start

始まらない。

/etc/default/celerybeat にある私の celerybeat 設定ファイルは次のとおりです。

export DJANGO_SETTINGS_MODULE="settings"

# Absolute or relative path to the 'celery' command:
CELERY_BIN="/path/to/.virtualenvs/django/bin/celery"

# Where to chdir at start.
CELERYD_CHDIR="/srv/myproj/"

# Extra arguments to celerybeat 
# When the below line is commented out, the service starts!?!
CELERYBEAT_OPTS="-S djcelery.schedulers.DatabaseScheduler"

CELERYBEAT_LOG_FILE="/var/log/celery/beat.log"
CELERYBEAT_PID_FILE="/var/run/celery/beat.pid"

# Workers should run as an unprivileged user.
#   You need to create this user manually (or you can choose
#   a user/group combination that already exists, e.g. nobody).
CELERYBEAT_USER="myuser"
CELERYBEAT_GROUP="mygroup"

最も奇妙な点は、構成ファイルに記載されているように、CELERYBEAT_OPTS 行をコメントアウトすると、service コマンドを使用してサービスを正常に開始できることです。そのため、構成ファイルで CELERYBEAT_OPTS="-S djcelery.schedulers.DatabaseScheduler" を指定すると、サービスが開始されません。ここで何が起こっているのか、またはどのようにトラブルシューティングできるのか、誰にも手がかりがありますか? ありがとうございました。

4

1 に答える 1

0

次の行を /etc/default/celerybeat ファイルに追加すると、機能し始めました。

CELERY_APP="base"
于 2015-05-14T14:30:50.997 に答える