Django异步任务

本文介绍了如何在Django项目中使用Celery来处理异步任务。首先解释了Celery作为分布式任务队列的作用,然后详细阐述了Django集成Celery的步骤,包括环境安装、配置、任务创建、任务触发和应用启动。此外,还提到了使用Django ORM作为结果存储的方法,并提醒读者在遇到问题时如何排查。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近项目需要执行定时任务和异步任务,通过调研选择使用celery


一、celery是什么?

Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请求处理过程都是同步的无法实现异步任务,若要实现异步任务处理需要通过其他方式(前端的一般解决方案是ajax操作),而后台Celery就是不错的选择。倘若一个用户在执行某些操作需要等待很久才返回,这大大降低了网站的吞吐量。下面将描述Django的请求处理大致流程(图片来源于网络):
在这里插入图片描述
请求过程简单说明:浏览器发起请求–>请求处理–>请求经过中间件–>路由映射–>视图处理业务逻辑–>响应请求(template或response)

二、使用步骤

1.环境安装

  1. 安装redis,具体教程这里忽略,安装成功后启动redis在这里插入图片描述

  2. 安装第三方模块

    'django_celery_results',  # 定时任务结果
    'django_celery_beat',  # 定时任务分发
    pip install django_celery_results
    pip install django_celery_beat

1.配置

  1. 在项目setting.py中设置信息:
    主要设置django_celery_results,django_celery_beat
    以及消息中间件
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值