django celery 定时任务demo
时间: 2023-07-18 18:32:12 浏览: 120
定时任务demo
好的,下面是一个简单的Django Celery定时任务示例:
1. 安装Django Celery:使用pip安装Django Celery。
```
pip install django-celery
```
2. 配置Django Celery:在Django项目的settings.py中添加以下代码。
```
INSTALLED_APPS = [
# ...
'djcelery',
# ...
]
import djcelery
djcelery.setup_loader()
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_TIMEZONE = 'Asia/Shanghai'
```
3. 定义任务:在Django项目的tasks.py文件中定义一个简单的任务。
```
from celery import task
@task
def add(x, y):
return x + y
```
4. 定义定时任务:在Django项目的tasks.py文件中定义一个简单的定时任务。
```
from celery.schedules import crontab
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'app.tasks.add',
'schedule': timedelta(seconds=30),
'args': (16, 16)
},
'add-every-monday-morning': {
'task': 'app.tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (32, 32)
},
}
```
5. 运行任务:在Django项目的manage.py文件中运行以下命令。
```
python manage.py celery beat
python manage.py celery worker --loglevel=info
```
以上就是一个简单的Django Celery定时任务示例。您可以根据自己的需求修改任务和定时任务的代码。
阅读全文