Update Radar deployment docs: Celery command-line arguments change in Celery 5
Closed this issue · 2 comments
markkuriekkinen commented
We must upgrade Celery to the latest v5 series. Old Celery v4.1 does not work in Python 3.7: #14.
Celery v5 changes the command-line arguments. We should update the deployments docs accordingly, e.g.,
radar/doc/celery-systemd/radar-celery.service
Lines 14 to 20 in 96ccbcb
With Celery v5 and old configuration files, I got this error from the "Radar Celery main service" (systemd):
systemd[1]: Started Radar Celery main service.
radar_celery_main[3070251]: You are using `--app` as an option of the worker sub-command:
radar_celery_main[3070251]: celery worker --app celeryapp <...>
radar_celery_main[3070251]: The support for this usage was removed in Celery 5.0. Instead you should use `--app` as a global option:
radar_celery_main[3070251]: celery --app celeryapp worker <...>
radar_celery_main[3070251]: Usage: celery worker [OPTIONS]
radar_celery_main[3070251]: Try 'celery worker --help' for help.
radar_celery_main[3070251]: Error: no such option: --app
systemd[1]: radar-celery.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: radar-celery.service: Failed with result 'exit-code'.
markkuriekkinen commented
For your info, @Gehock
markkuriekkinen commented
Simple and small change seems to be enough:
ExecStart=/srv/radar/venv/bin/celery \
--app radar \
worker \
--pidfile=/run/radar/celery_main.pid \
--loglevel=info \
--concurrency 1 \
--queues celery \
--hostname worker_main@radar
The --app radar
option is moved before worker
.