django中最新使用celery的方法
时间: 2024-05-15 15:13:47 浏览: 144
Django中使用Celery的方法示例
在 Django 中使用 Celery 的步骤如下:
1. 安装 Celery:可以使用 pip install celery 命令进行安装。
2. 配置 Celery:在 Django 项目的 settings.py 文件中添加以下内容:
```python
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
```
其中,`CELERY_BROKER_URL` 表示消息代理的地址,这里使用 Redis;`CELERY_RESULT_BACKEND` 表示 Celery 的结果存储方式,也使用了 Redis。
3. 创建 Celery 应用:在 Django 项目的根目录下创建一个 celery.py 文件,添加以下内容:
```python
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
app = Celery('your_project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
```
其中,`your_project` 表示你的 Django 项目名称。
4. 定义任务:在 Django 项目中的某个 app 中创建一个 tasks.py 文件,并添加以下内容:
```python
from celery import shared_task
@shared_task
def add(x, y):
return x + y
```
这里定义了一个名为 `add` 的任务,使用了 `shared_task` 装饰器。
5. 启动 Celery:在终端中输入命令 `celery -A your_project worker -l info` 启动 Celery。
6. 调用任务:在 Django 项目中需要调用 Celery 任务的地方,可以使用以下代码:
```python
from your_app.tasks import add
result = add.delay(4, 4)
print(result.get())
```
其中,`add.delay(4, 4)` 表示异步调用 `add` 任务,返回一个结果对象;`result.get()` 表示获取 `add` 任务执行的结果。
注意:需要在 Django 项目启动时加载 Celery 应用,可以在项目的 `__init__.py` 文件中添加以下代码:
```python
from .celery import app as celery_app
__all__ = ('celery_app',)
```
阅读全文