How can I configure celery to run on startup of ng

2019-08-27 03:19发布

问题:

I have celery running locally by just running celery -A proj -l info (although I don't even know if I should be using this command in production), and I want to get celery running on my production web server every time nginx starts. The init system is systemd

回答1:

Create a service file like this celery.service

[Unit]
Description=celery service
After=network.target

[Service]
PIDFile=/run/celery/pid
User=celery
Group=celery
RuntimeDirectory=/path/to/project
WorkingDirectory=/path/to/project
ExecStart=celery -A proj -l info
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
Restart=on-abort
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Move the file to /etc/systemd/system/ and next time your restart server, celery will be started by systemd on boot.