pip3 install supervisor2.檢視版本
pip3 list | grep su3.建立軟連線(可不用操作)
3.1這時候使用pip的安裝方式其實並沒有設定好supervisor的環境變數,還需要檢視一下supervisor安裝後的二進位制可執行檔案在**。
搜尋在/
目錄下,前後模糊查詢名稱為supervi
的檔案,如下:
3.2將supervisorctl
、echo_supervisord_conf
和supervisord
新增軟鏈到執行目錄下/usr/bin
ln -s /usr/local/python3/bin/echo_supervisord_conf /usr/bin/echo_supervisord_conf實際示例ln -s /usr/local/python3/bin/supervisord /usr/bin/supervisord
ln -s /usr/local/python3/bin/supervisorctl /usr/bin/supervisorctl
4.配置啟動檔案
4.1進入django專案(如大luffy)
4.2配置檔案編輯
1.我們可以使用echo_supervisord_conf命令得到supervisor配置模板,開啟終端執行如下linux shell命令:注意編輯檔案時裡面的內容不要清空echo_supervisord_conf >supervisord.conf
2.該命令輸出檔案到當前目錄下(當然,你也可以指定絕對路徑到具體位置),檔名為supervisord.conf。
vim supervisord.conf
[program:celery.worker]5.啟動(注意路徑);指定執行目錄
directory=/home/project/airapi
;執行目錄下執行命令(注意要把虛擬環境帶上)
command=/home/dev/.virtualenvs/aqivir/bin/celery worker -a celery_task -l info
;啟動設定
numprocs=1;程序數
autostart=true ;當supervisor啟動時,程式將會自動啟動
autorestart=true ;自動重啟
;停止訊號,預設term
;中斷:int (類似於ctrl+c)(kill -int pid),退出後會將寫檔案或日誌(推薦)
;終止:term (kill -term pid)
;掛起:hup (kill -hup pid),注意與ctrl+z/kill -stop pid不同
;從容停止:quit (kill -quit pid)
stopsignal=int
;輸出日誌
stdout_logfile=/home/project/airapi/celery_task/celery_worker.log
stdout_logfile_maxbytes=10mb ;預設最大50m
stdout_logfile_backups=10;日誌檔案備份數,預設為10
;錯誤日誌
redirect_stderr=false ;為true表示禁止監聽錯誤
stderr_logfile=/home/project/airapi/celery_task/celery_worker.log
stderr_logfile_maxbytes=10mb
stderr_logfile_backups=10[program:celery.beat]
;指定執行目錄
directory=/home/project/airapi
;執行目錄下執行命令(虛擬環境)
command=/home/dev/.virtualenvs/aqivir/bin/celery beat -a celery_task -l info
;啟動設定
numprocs=1;程序數
autostart=true ;當supervisor啟動時,程式將會自動啟動
autorestart=true ;自動重啟
;停止訊號
stopsignal=int
supervisord -c supervisord.conf如果沒有報錯就沒有問題
6.其他命令
1.關閉supervisorctl -c supervisord.conf shutdown
2.重啟
supervisorctl -c supervisord.conf reload
celery 視覺化 利用Celery實現定時任務
celery是乙個基於分布式訊息傳輸的非同步任務佇列,它專注於實時處理,同時也支援任務排程。在之前的文章python之celery的簡介與使用中,筆者簡單介紹了celery以及celery的使用。本文將會將會如何利用celery來實現定時任務。定時任務,在我們平時的工作中並不少見,比如定時備份資料庫...
celery系列 一 celery 相關配置
celery result backend amqp 官網優化的地方也推薦使用c的librabbitmq celery task result expires 1200 celery任務執行結果的超時時間,我的任務都不需要返回結果,只需要正確執行就行 celeryd concurrency 50 c...
Celery概念 配置
celery 是乙個 基於python開發的分布式非同步訊息任務佇列,通過它可以輕鬆的實現任務的非同步處理 應用非同步呼叫 那些使用者不關心的但是又存在在我們api裡面的操作 我們就可以用非同步呼叫的方式來優化 傳送郵件 或者上傳頭像 定時任務 定期去統計日誌,資料備份,或者其他的統計任務 cele...