celery 定时任务
时间: 2023-12-21 22:32:31 浏览: 98
Python Celery是一个分布式任务队列框架,它可以让你在分布式系统中异步执行任务。它支持定时任务的调度,可以让你在指定的时间间隔或者特定的时间点执行任务。
要使用Celery进行定时任务调度,你需要先安装Celery库。可以使用pip命令进行安装:
```
pip install celery
```
安装完成后,你需要创建一个Celery实例,并配置它的任务队列和调度器。下面是一个简单的示例:
```python
from celery import Celery
from datetime import timedelta
# 创建Celery实例
app = Celery('tasks', broker='redis://localhost:6379/0')
# 配置定时任务调度器
app.conf.beat_schedule = {
'task-name': {
'task': 'tasks.task_name', # 任务函数的路径
'schedule': timedelta(seconds=10), # 任务执行的时间间隔
},
}
# 定义任务函数
@app.task
def task_name():
# 任务的具体逻辑
pass
```
在上面的示例中,我们创建了一个名为`tasks`的Celery实例,并配置了Redis作为任务队列的中间件。然后,我们使用`app.conf.beat_schedule`配置了一个定时任务调度器,其中`task-name`是任务的名称,`task`是任务函数的路径,`schedule`是任务执行的时间间隔,这里设置为每10秒执行一次。最后,我们定义了一个名为`task_name`的任务函数,你可以在这个函数中编写具体的任务逻辑。
为了启动Celery的定时任务调度器,你需要在终端中执行以下命令:
```
celery -A tasks beat
```
这样,Celery就会按照你配置的时间间隔或者时间点执行定时任务。
希望以上内容能够帮助到你,如果有任何疑问,请随时提问。
阅读全文