最近開始接觸python,並且在業務需要的情況下開始尋找任務排程的框架。最後選擇了celery,在這裡記錄一下搭建的過程。
伺服器是debian系統。
官方文件:
github:
pip install celery
pip install flower #監控軟體,包括圖形介面
pip install supervisor #linux程序管理工具
這裡我的broker使用的是redis,安裝過程略
建立乙個資料夾,在裡面新增redis.conf(修改埠為8765)和start.sh
# start.sh
cd /opt/redis/8765/
/usr/bin
/redis-server ./redis.conf
設定系統自啟動
vi /etc/rc.local
/bin/bash /opt/redis/8765/start.sh
#新增此行,系統自啟動
# 生成預設配置檔案
echo_supervisord_conf > /etc/supervisord.conf
mkdir /etc/supervisord.conf.d
vi supervisord.conf # 具體內容可以參考官方的[例子](/tree/master/extra/supervisord),
vi celery.conf # 同上
使用 supervisord -c supervisord.conf啟動
通過反覆看官方文件,在這裡記錄下自己使用到的並測試了**
# 建立乙個應用
broker='redis:',
backend='redis:',
include=['proj.tasks'])
def
my_on_failure
(self, exc, task_id, args, kwargs, einfo):
pass
celery_task_result_expires=30, # 結果儲存時間
celery_task_serializer = 'json', # 格式序列化
celery_result_serializer = 'json',
celery_timezone = 'asia/shanghai',
)
# 定時任務
'add-every-1-min': ,
}#具體可參考:
#錯誤重試
defadd
(self,x, y):
# print 0
try:
1/0except exception as exc:
raise self.retry(countdown=5,max_retries=6, exc=exc)
return x + y
queue 我還沒有用到,有時間再加進去
這段時間準備嘗試一下queue相關知識,所以搭建了rabbitmq,這裡就簡單記錄一下過程好了
我很多操作都是參照這篇部落格進行的
菜鳥學C語言 環境搭建
本人由於工作需要,需要用c寫一套程式,雖然以前看過一兩本c的書,但是時隔幾年早已忘得一乾二淨,所以相當於是需要從頭開始學習,在此記錄一下我得學習成果 環境所需工具 windows下開發 因為不在windows下開發,所以這裡就推薦幾個開發工具吧,基本上安裝上任意乙個,就直接能跑了,不像linux,坑...
LAMP環境搭建 php環境搭建
yum groupinstall development tools y yum groupinstall desktop platform development y yum install cmake pcre devel ncurses devel openssl devel libcurl ...
環境搭建 二 Python環境搭建
工欲善其事,必先利其器 要想玩轉python,我們首先需要搭建一套可使用且方便的環境。對於初學者,笨飯糰建議使用 anaconda anaconda 簡介anaconda是python的乙個科學計算發行版,內建了數百個python經常會使用的庫,包括做機器學習或資料探勘的庫。anaconda提供了乙...