工程結構沿用http://www.javashuo.com/article/p-hdgjvkul-a.html,只需修改celeryconfig.py文件便可;html
一、更新celeyconfig.py文件,添加定時任務隊列: python
# -*- coding: utf-8 -*- ''' Created on 2019年8月28日 @author: lenovo ''' BROKER_URL='redis://localhost:6379/1' CELERY_RESULT_BACKEND='redis://localhost:6379/2' CELERY_TIMEZONE='Asia/Shanghai'#不指定時區的話默認採用UTC #導入指定的任務模塊 CELERY_IMPORTS=( 'celerywithconfig.task1', 'celerywithconfig.task2', ) from datetime import timedelta from celery.schedules import crontab #設置定時任務:配置說明官網文檔請參考http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries CELERYBEAT_SCHEDULE={ 'task1':{ 'task':'celerywithconfig.task1.add', 'schedule':timedelta(seconds=10), 'args':(2,8) }, 'task2':{ 'task':'celerywithconfig.task2.multiply', 'schedule':crontab(hour=14,minute=23), 'args':(4,5) } }
二、啓動beat和worker:redis
啓動beat命令:python -m celery -A celerywithconfig beat --loglevel=infoapp
啓動worker命令:python -m celery -A celerywithconfig worker --loglevel=infoide
三、beat日誌查看定時任務觸發狀況:從日誌中能夠看出每隔10s發送一次任務task1,而且在14:23發送了任務task2。ui
四、worker日誌查看任務執行狀況:每隔10s接收消費來自beat發送的定時任務task1,並在14:23接收消費beat發送的定時任務task2.spa