0

I am trying to use django and celery to automate the task and want to run celery as daemon. I copied the code for celeryd and celerybeat from its official documentation and put it inside the /etc/init.d/ folder.

Below is the code of my celeryd file and I put it inside the 'etc/default' folder. The code in the bold letters is commented code.

CELERY_BIN="/home/user/.local/bin/celery"

# Name of nodes to start, here we have a single node
CELERYD_NODES="worker"
# or we could have three nodes:
#CELERYD_NODES="w1 w2 w3"

# Where to chdir at start.
CELERYD_CHDIR="/home/user/django_project"

CELERY_APP="django_project"

#How to call "manage.py celeryd_multi"
#CELERYD_MULTI="$CELERYD_CHDIR/django_project/manage.py celeryd_multi"

# Extra arguments to celeryd
#CELERYD_OPTS="--time-limit 300 --concurrency=8"

# Name of the celery config module.
CELERY_CONFIG_MODULE="celeryconfig"

# %n will be replaced with the nodename.
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"

# Workers should run as an unprivileged user.
CELERYD_USER="user"
CELERYD_GROUP="user"

# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="settings"


# beat settings

CELERYBEAT_OPTS="--scheduler django_celery_beat.schedulers:DatabaseScheduler"

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

# If enabled pid and log directories will be created if missing,
# and owned by the userid/group configured.
CELERY_CREATE_DIRS=1

I started the celeryd using "sudo /etc/init.d/celeryd/ start" command.

I started the celerybeat using "sudo /etc/init.d/celerybeat/ start" command.

When I checked the status of celery and celerybeat it is showing

    celery init v10.1.
Using config script: /etc/default/celeryd
celeryd down: no pidfiles found

Please do let me know how to run celery as daemon.

Daniel Roseman
  • 588,541
  • 66
  • 880
  • 895

0 Answers0