linux中配置celery定時任務

2022-03-11 17:36:45 字數 2678 閱讀 4555

pip3 install supervisor
2.檢視版本

pip3 list | grep su
3.建立軟連線(可不用操作)

3.1這時候使用pip的安裝方式其實並沒有設定好supervisor的環境變數,還需要檢視一下supervisor安裝後的二進位制可執行檔案在**。

搜尋在/目錄下,前後模糊查詢名稱為supervi的檔案,如下:

3.2將supervisorctlecho_supervisord_confsupervisord新增軟鏈到執行目錄下/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]

;指定執行目錄

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

5.啟動(注意路徑)

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...