0
点赞
收藏
分享

微信扫一扫

python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】

工程结构沿用​,只需修改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

python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】_python

3、beat日志查看定时任务触发情况:从日志中可以看出每隔10s发送一次任务task1,并且在14:23发送了任务task2。

python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】_python_02

4、worker日志查看任务执行情况:每隔10s接收消费来自beat发送的定时任务task1,并在14:23接收消费beat发送的定时任务task2.

python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】_定时任务_03

 



举报

相关推荐

0 条评论