Django command to run celery (worker, beat, flower)
with automatically reboot server after changing files
-
Install package
pip install celery-starter
-
Add app name to
INSTALLED_APPS
INSTALLED_APPS = [ 'celery_starter', ]
python manage.py runcelery
Arguments can be passed in any order, it doesn't matter.
<celery app name>
or
<"full command to run celery worker">
-h
or --help
Show help message.
-b
or --beat
Excludes the beat server at startup.
-f
or --flower
Excludes the flower server at startup.
-d
or --debug
Displays information about successful/unsuccessful completion of processes.
-ll
or --loglevel
Defines the logging level for celery worker/beat
-lf
or --logfile
Redirects the output to the console by default to a log file for celery worker/beat
The command enclosed in quotation marks gets into the positional arguments and replaces the command to run the default celery worker.
The --beat
--flower
commands fall into the optional arguments and turn off the beat and flower of the server.
python manage.py runcelery "celery --app=${CELERY_APP} worker -E \
--hostname=worker-example@%h
--uid=nobody --gid=nogroup \
--loglevel=INFO" --beat --flower