Django 中使用 djcelery, 他会在数据库中生成很多相应的数据表, celery 的代理人(broker)这里我使用 django 自身便可以充当 broker. 但是这种情况只适合开发使用, 部署的话还是要使用 redis 等来充当 broker.因为这样更稳定和高效.
1. 安装 celery
pip install django-celery
2. Django 设置
第一行 导入 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.
4.执行 tsk
从 myapp(应用下)的 task 中导入 send 函数. 这里要从 myapp(应用下)导入,不可以从项目下(project)导入.
网友评论