django 中如何使用celery
时间: 2023-12-11 15:03:27 浏览: 88
在 Django 中使用 Celery 需要以下步骤:
1. 安装 Celery 和消息队列,比如 RabbitMQ 或者 Redis。
```
pip install celery
```
2. 在 Django 项目的 settings.py 文件中添加以下配置:
```
# Celery 配置
CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = TIME_ZONE
```
上面的配置是使用 RabbitMQ 作为消息队列的示例。
3. 创建一个 tasks.py 文件,并编写任务函数:
```
from celery import shared_task
@shared_task
def add(x, y):
return x + y
```
4. 在 Django 项目的 __init__.py 文件中添加以下代码:
```
from .celery import app as celery_app
__all__ = ('celery_app',)
```
5. 启动 Celery worker:
```
celery -A project_name worker -l info
```
现在就可以在 Django 项目中调用 Celery 任务了,例如:
```
from .tasks import add
result = add.delay(4, 4)
```
上面的代码会异步执行 add 函数,并返回一个 AsyncResult 对象,可以通过该对象获取任务执行的状态和结果。
阅读全文