使用supervisor守護(hù)celery進(jìn)程
系統(tǒng):ubuntu 16.10
celery 無法自己守護(hù)進(jìn)程,那么我們需要在后臺守護(hù)的時候奔垦,可以使用官方的方法 Celery 4.0.2 documentation-Daemonization 屹耐,可以可以采用supervisor.
- 安裝supervisor:
apt-get install supervisor
- 在 /etc/supervisor.conf.d 創(chuàng)建celery.conf:
[program:celery] # 啟動命令入口 command=/var/www/newweb/venv/bin/celery worker -A celery_worker.celery --loglevel=info # 命令程序所在目錄 directory=/var/www/newweb/ # 運(yùn)行命令的用戶名 user=root autostart=true autorestart=true # 日志地址 stdout_logfile=/var/log/newymw2.0/supervisor/newymw2.0_celery.log
- 開啟suprvisor:
service supervisor start
- 加載supervisor配置文件:
supervisorctl reload
- 啟動supervisor要守護(hù)的進(jìn)程:
# 比如:上面我要守護(hù)的進(jìn)程是celery (celery.conf: [program:celery]) supervisorctl start celery
注意:
在執(zhí)行的過程中,如果出現(xiàn)錯誤:
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 22
unix:///var/run/supervisor.sock no such file
supervisor>
則需要檢查 /etc/supervisor.conf.d 下的配置文件是否有問題椿猎,如果有任何問題惶岭,都無法正常啟動并守護(hù)該進(jìn)程.
更改過文件之后,要重新執(zhí)行一次上述幾個命令.
可以通過 supervisorctl status
查看狀態(tài).