Celery-------周期任務
阿新 • • 發佈:2019-02-18
哪裏 cront fun 例子 方式 back 啟動 生產者 each
在項目目錄例子的基礎上進行修改一下celery文件
from celery import Celery from celery.schedules import crontab celery_task = Celery("task", broker="redis://127.0.0.1:6379", backend="redis://127.0.0.1:6379", include=["Celery_task.task_1","Celery_task.task_2"]) #我要要對beat任務生產做一個配置,這個配置的意思就是每10秒執行一次Celery_task.task_1任務參數是(10,10) PS: 這裏我們並沒真的用到參數 只是舉個例子celery_task.conf.beat_schedule={ "each10s_task":{ "task":"Celery_task.task_1.func1", "schedule":10, # 每10秒鐘執行一次 "args":(10,10) }, "each1m_task": { "task": "Celery_task.task_1.func1", "schedule": crontab(minute=1), # 每一分鐘執行一次 "args": (10, 10) },"each24hours_task": { "task": "Celery_task.task_1.func1", "schedule": crontab(hour=24), # 每24小時執行一次 "args": (10, 10) } } #以上配置完成之後,還有一點非常重要 # 不能直接創建Worker了,因為我們要執行周期任務,所以首先要先有一個任務的生產方 # celery beat -A Celery_task # celery worker -A Celery_task -l INFO -P eventlet
創建Worker的方式並沒有發行變化,但是這裏要註意的是,每間隔一定時間後需要生產出來任務給Worker去執行,這裏需要一個生產者beat
celery beat -A Celery_task #創建生產者 beat 你的 schedule 寫在哪裏,就要從哪裏啟動
Celery-------周期任務