Django中使用celery

Django中使用celery

celery实例创建

注意

以前版本的Celery需要一个单独的库才能与Django一起使用,但是从3.1开始,情况不再如此。现成的支持Django,因此本文档仅包含集成Celery和Django的基本方法。您将使用与非Django用户相同的API,因此建议您先阅读“ 使用Celery第一步”教程,然后再返回本教程。当您有可用的示例时,可以继续阅读“ 下一步”指南。

注意

Celery 4.0支持Django 1.8和更高版本。对于Django 1.8之前的版本,请使用Celery 3.1。

要将Celery与Django项目一起使用,您必须首先定义Celery库的实例(称为“应用”)

如果您拥有现代的Django项目布局,例如:

- proj/
  - manage.py
  - proj/
    - __init__.py
    - settings.py
    - urls.py

那么建议的方法是创建一个新的proj / proj / celery.py模块,该模块定义Celery实例:

文件:proj/proj/celery.py

# 导入future 模块,让我们的celery.py 不会与其他类库产生冲突。
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

# 在celery应用中加载Django的配置
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

# 实例化celery对象
app = Celery(
    'proj',
    # 使用redis的1号库作为消息列队
    broker="redis://127.0.0.1:6379/1",
    # 使用redis的2号库存储任务结果
    backend="redis://127.0.0.1:6379/2",
)

# 把celery的配置放到django的settings配置文件中
# 此处的参数你可以传递对象,但是建议字符串,这样使用windows 或execv 的时候,无需序列化对象。
# - namespace='CELERY' 表示所有celery相关的配置参数需要添加`CELERY_` 前缀
app.config_from_object('django.conf:settings', namespace='CELERY')

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值