工程结构沿用https://www.cnblogs.com/apple2016/p/11422388.html,只需修改celeryconfig.py文件即可;
1、更新celeyconfig.py文件,添加定时任务队列:
# -*- 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) } }
2、启动beat和worker:
启动beat命令:python -m celery -A celerywithconfig beat --loglevel=info
启动worker命令:python -m celery -A celerywithconfig worker --loglevel=info
3、beat日志查看定时任务触发情况:从日志中可以看出每隔10s发送一次任务task1,并且在14:23发送了任务task2。
4、worker日志查看任务执行情况:每隔10s接收消费来自beat发送的定时任务task1,并在14:23接收消费beat发送的定时任务task2.