0

I'm trying to get celery running as a service and I'm having a problem with the CELERYBEAT_OPTS parameter. I can start the celery service just fine and I'm able to start celerybeat fine via the command line like this:

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

But when I start the celerybeat service like this:

sudo service celerybeat start

it doesn't start.

Here's my celerybeat config file at /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"

And the oddest part is, as noted in the config file, if I comment out the CELERYBEAT_OPTS line, I can start the service just fine using the service command. So something is causing the service not to start when I specify CELERYBEAT_OPTS="-S djcelery.schedulers.DatabaseScheduler" in the config file. Does anyone have any clue what's going on here or how I might be able to troubleshoot it? Thank you.

scoopseven
  • 1,767
  • 3
  • 18
  • 27

1 Answers1

0

I added this line to the /etc/default/celerybeat file and it started working:

CELERY_APP="base"
scoopseven
  • 1,767
  • 3
  • 18
  • 27