我正在尝试让芹菜作为服务运行,但我的CELERYBEAT_OPTS参数出现了问题。我可以很好地启动celery服务,并且可以通过如下命令行启动celerybeat fine:
celery -A base beat -S djcelery.schedulers.DatabaseScheduler -l debug --pidfile=/tmp/celerybeat.pid但是当我像这样启动celerybeat服务时:
sudo service celerybeat start启动不了。
下面是我的celerybeat配置文件,位于/etc/default/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“时,会导致服务无法启动。有没有人知道这是怎么回事,或者我该怎么解决这个问题?谢谢。
发布于 2015-05-14 22:30:51
我将这一行添加到/etc/default/celerybeat文件中,它开始工作了:
CELERY_APP="base"https://stackoverflow.com/questions/30229013
复制相似问题