Python?Celery定時任務詳細講解
前言
Celery在python中的應用除了實現(xiàn)異步任務(async task)外也可以執(zhí)行定時任務(beat)
一、Celery定時任務是什么?
Celery默認任務單元由任務生產者觸發(fā),但有時可能需要其自動觸發(fā),而Beat進程正是負責此類任務,能夠自動觸發(fā)定時/周期性任務.

Celery 進行周期任務也很簡單,只需要在配置中配置好周期任務,然后在運行一個周期任務觸發(fā)器(beat)即可,具體網上看
二、使用步驟
win10 + python3 + redis + celery 5
1.代碼結構

celery_config.py配置:
代碼如下(示例):
#-*-coding=utf-8-*-
from datetime import timedelta
from celery.schedules import crontab
# 中間件
BROKER_URL = 'redis://scck2svr03:6379/6'
# 結果存儲
# CELERY_RESULT_BACKEND = 'redis://:scck2svr03:6379/5'
CELERYD_CONCURRENCY = 20 # 并發(fā)worker數
CELERYD_FORCE_EXECV = True # 非常重要,有些情況下可以防止死鎖
# CELERY_TASK_SERIALIZER = 'msgpack' # 任務序列化和反序列化使用msgpack方案
CELERY_RESULT_SERIALIZER = 'json' # 讀取任務結果一般性能要求不高,所以使用了可讀性更好的JSON
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # celery任務結果有效期
CELERY_ACCEPT_CONTENT = ['json', 'msgpack'] # 指定接受的內容類型
CELERY_TIMEZONE = 'Asia/Shanghai' # celery使用的時區(qū)
CELERY_ENABLE_UTC = True # 啟動時區(qū)設置
# 默認worker隊列
#CELERY_DEFAULT_QUEUE = 'default'
# 異步任務
CELERY_IMPORTS = (
"celery_learning.email.tasks"
)
# celery beat
CELERYBEAT_SCHEDULE = {
'periodic_task-every-minute': {
'task': 'celery_learning.email.tasks.add',
'schedule': crontab(minute="*/1"),
'args': (1,2)
},
'periodic_task-every-10second':{
'task':'celery_learning.email.tasks.add',
'schedule':timedelta(seconds=10),
'args':(1,12)
}
}2.啟動定時任務
代碼如下(示例):
終端1:celery -A celery_learning.celery_app worker -l info -P gevent 終端2:celery -A celery_learning.celery_app beat
終端1

終端2

3.執(zhí)行結果
兩個定時任務,一個每分鐘執(zhí)行,一個每10秒執(zhí)行
結果如下:

總結
到此這篇關于Python Celery定時任務詳細講解的文章就介紹到這了,更多相關Python Celery 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python enumerate函數遍歷數據對象組合過程解析
這篇文章主要介紹了Python enumerate函數遍歷數據對象組合過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12
django之靜態(tài)文件 django 2.0 在網頁中顯示圖片的例子
今天小編就為大家分享一篇django之靜態(tài)文件 django 2.0 在網頁中顯示圖片的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python語音合成之第三方庫gTTs/pyttsx3/speech橫評(內附使用方法)
Python是一種非常強大的腳本語言,可以用來實現(xiàn)各種復雜的應用,其中之一就是文本轉語音,即把文字轉換成聲音來發(fā)出,下面這篇文章主要給大家介紹了關于Python語音合成之第三方庫gTTs/pyttsx3/speech橫評的相關資料,文中還介紹了詳細的使用方法,需要的朋友可以參考下2023-05-05
python中將兩組數據放在一起按照某一固定順序shuffle的實例
今天小編就為大家分享一篇python中將兩組數據放在一起按照某一固定順序shuffle的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

