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