DJango 中使用 djcelery

Django 中使用 djcelery, 他会在数据库中生成很多相应的数据表, celery 的代理人(broker)这里我使用 django 自身便可以充当 broker. 但是这种情况只适合开发使用, 部署的话还是要使用 redis 等来充当 broker.因为这样更稳定和高效.

1. 安装 celery

pip install django-celery

2. Django 设置

DJango 中使用 djcelery_第1张图片

第一行 导入 djcelery.

第二行 加载.

第三行 告诉我们使用的 broker 是 Django 自身. (这里如果想使用 redis 改为 BROKER_URL= 'redis://localhost:6379/0')前提是确保你安装了 redis.

INSTALLED_APPS 中 djcelery 是必须的,kobu.transport.django 则是基于 Django 的 broker.

设置好之后 执行数据迁移:

1.生成迁移文件. python manage.py makemigrations

2.生成迁移 python manage.py migrate

3.创建一个 task

一个 task 就是一个 Python function. 但 Celery 需要知道这一函数是 task, 因此我们可以使用 celery 自带的装饰器 @task.

DJango 中使用 djcelery_第2张图片

4.执行 tsk

从 myapp(应用下)的 task 中导入 send 函数. 这里要从 myapp(应用下)导入,不可以从项目下(project)导入.

DJango 中使用 djcelery_第3张图片

你可能感兴趣的:(DJango 中使用 djcelery)