把Celery集成到Django里之异步任务

虽然Django3.x开始已经部分支持异步任务了,但是还是不够完善,所以如果您需要执行大量或长时间运行的任务,还是推荐使用Celery,而且Celery还可以设置计划任务。
在本文中,我们主要讲如何把Celery集成到Django并执行异步任务,Celery的消息队列和任务结果我们都使用redis来存储,假设我们的Django项目目录结构如下:

- myproj/
  - manage.py
  - myproj/
    - __init__.py
    - settings.py
    - urls.py
	- celery.py #稍后添加
  - app1/
    - models.py
	- views.py
	- tasks.py  #稍后添加
	......

第一步,安装celery和python操作redis的客户端:

[root@myproj ~]# pip install celery redis


第二步,在myproj/myproj/settings.py添加Celery需要变量

#Celery参数设定
CELERY_BROKER_URL = 'redis://localhost' # 消息中间件控制使用redis
CELERY_CACHE_BACKEND = 'redis://localhost' #缓存用redis存储
CELERY_RESULT_BACKEND = 'redis://localhost' #执行结果,也使用redis存储,之后的文章中我们将介绍使用数据库保存
CELERY_TASK_TRACK_STARTED = True #打开任务开始状态标记
CELERY_TASK_TIME_LIMI
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值