1. 程式人生 > 實用技巧 >supervisor 使 celery後臺執行

supervisor 使 celery後臺執行

1.安裝supervisor
pip install supervisor
2.建立supervisor配置檔案,命令如下:
進入專案檔案

echo_supervisord_conf > supervisord.conf
vim supervisord.conf
在末尾輸入:
[program:celeryd]  # 程序的名字
command
=/opt/python/bin/celery worker -A worker --loglevel=info stdout_logfile=/django/celery/celeryd.log stderr_logfile=/django/celery/celeryd.log autostart
=true autorestart=true startsecs=10 stopwaitsecs=600
[program: ProjectName]
command=dotnet ProjectName.dll ; 執行程式的命令
directory=/root/Publishing/PublishOutput/ ; 命令執行的目錄
autorestart=true ; 程式意外退出是否自動重啟
autostart=true ; 是否自動啟動
stderr_logfile=/var/log/ProjectName.err.log ; 錯誤日誌檔案
stdout_logfile=/var/log/ProjectName.out.log ; 輸出日誌檔案
environment=ASPNETCORE_ENVIRONMENT=Production ; 程序環境變數
user=root ; 程序執行的使用者身份
stopsignal=INT
startsecs=1 ; 自動重啟間隔 

在Django 目錄下執行

supervisord

supervisorctl 命令

在啟動後臺執行之後,可以使用supervisorctl命令檢視後臺的日誌資訊,以及重啟服務。

$ supervisorctl tail celeryd # 檢視最後的日誌
$ supervisorctl tail -f celeryd # 持續
$ supervisorctl restart celeryd
$ supervisorctl status celeryd
$ supervisorctl start celeryd
$ supervisorctl stop celeryd
3.supervisorctl檢視和停止supervisor的狀態:
報錯後可檢視
/django/celery/celeryd.log
supervisorctl status # 檢視狀態 reread # 讀取配置資訊 update # 載入最新的程序 stop # 停止程序 start # 啟動程序 reload # 重新載入配置