python celery 定时任务demo
时间: 2023-07-06 21:34:58 浏览: 110
好的,以下是一个使用 Celery 实现定时任务的示例:
1. 首先安装 celery:
```
pip install celery
```
2. 在项目的根目录下新建一个名为 tasks.py 的文件,编写定时任务的代码:
```
from celery import Celery
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def task1():
# 在这里编写 task1 的逻辑
pass
@app.task
def task2():
# 在这里编写 task2 的逻辑
pass
```
其中,broker 参数指定 celery 使用 redis 存储任务队列和结果的地址,需要根据实际情况修改。这里演示了两个定时任务,分别是 task1 和 task2。
3. 在项目的根目录下新建一个名为 celery.py 的文件,配置 celery:
```
from celery import Celery
from celery.schedules import crontab
app = Celery('tasks', broker='redis://localhost:6379/0')
app.conf.beat_schedule = {
'task1': {
'task': 'tasks.task1',
'schedule': crontab(minute='*/5'), # 每5分钟执行一次
},
'task2': {
'task': 'tasks.task2',
'schedule': crontab(hour=1, minute=0), # 每天凌晨1点执行
},
}
```
其中,beat_schedule 参数是定时任务的配置,具体格式可以参考 Celery 文档。这里演示了两个定时任务,分别是每5分钟执行一次的 task1 和每天凌晨1点执行的 task2。
4. 启动 celery:
```
celery -A celery worker -l info -B
```
其中,-A 参数指定 celery 的应用名,-l 参数指定日志级别,-B 参数表示启动 celery 定时任务。
至此,就完成了 Celery 的定时任务配置。
阅读全文