Django使用Celery异步

这篇具有很好参考价值的文章主要介绍了Django使用Celery异步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装包
pip install celery

pip install eventlet 
1.在项目文件的根目录下创建目录结果

Django使用Celery异步,Django,django,数据库,服务器

2. 在main.py文件中
# !/usr/bin/env python
# -*-coding:utf-8 -*-

"""
# Author     :skyTree
# version    :python 3.11
# Description:celery 主文件
"""

from celery import Celery

# 1,创建celery实例对象
celery_app = Celery('meiduo')

# 2,加载配置文件
celery_app.config_from_object('celery_tasks.config')

# 3,自动注册异步任务
celery_app.autodiscover_tasks(['celery_tasks.sms'])
 3.config.py文件
# !/usr/bin/env python
# -*-coding:utf-8 -*-

"""
# Author     :skyTree
# version    :python 3.11
# Description:celery 配置文件
"""
# 指定任务队列的位置
broker_url = "redis://localhost:6379/0"
4.在项目后端文件下执行启动命令,即可,此时说明clery已经安装成功!
# celery_tasks.main为celery包名加主文件 
celery -A celery_tasks.main worker -l info
5.在task.py文件中将发送短信的任务注册到task中必须使用装饰器并在装饰器中设置别名便于区分
# !/usr/bin/env python
# -*-coding:utf-8 -*-

"""
# Author     :skyTree
# version    :python 3.11
# Description:sms功能异步任务
"""
from .send_sms import Send_SMS
from ..main import celery_app


@celery_app.task(name='send_sms_code')
def send_sms_code(mobile, sms_code):
    """
    发送短信验证码的celery异步任务
    :param mobile: 手机号
    :param sms_code: 验证码
    :return:
    """
    Send_SMS().send(mobile=mobile, code=sms_code)
6.在视图函数中调用异步任务
# apply_async接受的参数必须为元组或者列表
result = send_sms_code.apply_async((mobile, sms_code,))

# 使用dealy方法也可以
result = send_sms_code.dealy(mobile, sms_code)
7.执行celery启动命令

注意: 必须使用 celery -A celery_tasks.main worker -l info -P eventlet 才会提示如下信息表示成功

Django使用Celery异步,Django,django,数据库,服务器

如果使用 celery -A celery_tasks.main worker -l info 命令显示如下信息,此时任务根本没有执行

Django使用Celery异步,Django,django,数据库,服务器文章来源地址https://www.toymoban.com/news/detail-835341.html

到了这里,关于Django使用Celery异步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用django-admin来做erp,是否需要使用缓存数据库

    需求: 结论:仅仅使用django admin,不需要使用缓存 1:在django admin后台中禁止一次性下载超过100条带有手机号码字段的数据,从而限制转换解密时间在5秒钟内 2:非要缩短时间,让甲方加价钱 展开讨论 首先,Django Admin是Django框架的一个组成部分,用于创建网站的管理后台。它

    2024年01月25日
    浏览(59)
  • Django创建应用、ORM的进阶使用及模型类数据库迁移

    Django 项目就是基于 Django 框架开发的 Web 应用,它包含了一组配置和多个应用,我们把应用称之为 App,在前文中对它也做了相应的介绍,比如 auth、admin,它们都属于 APP。 一个 App 就是一个 Python 包,通常一个 App 可以包含模型、视图、模板和 URL 配置文件,可以被应用到多个

    2024年02月09日
    浏览(59)
  • 使用Django自带的后台管理系统进行数据库管理的实例

    Django自带的后台管理系统主要用来对数据库进行操作和管理。它是Django框架的一个强大功能,可以让你快速创建一个管理界面,用于管理你的应用程序的数据模型。 使用Django后台管理系统,你可以轻松地进行以下操作: 数据库管理:你可以查看、添加、编辑和删除数据库中

    2024年02月15日
    浏览(60)
  • Django笔记二十一之使用原生SQL查询数据库

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十一之使用原生SQL查询数据库 Django 提供了两种方式来执行原生 SQL 代码。 一种是使用 raw() 函数,一种是 使用 connection.cursor()。 但是官方还是推荐在使用原生 SQL 之前,尽量的先去探索一下 QuerySet 提供的各种 API。 目前而言

    2023年04月10日
    浏览(61)
  • 使用Django数据库模型中的ForeignKey()形成数据表记录的父子层次结构

    可以把ForeignKey()的第1个参数设置为值 “self” 实际形成数据表记录的父子层次结构。 下面是一个简单的实例: 在文件 E:Python_projectP_001myshop-testmyshopapp1models.py 中写入下面的代码: 启动数据库… 然后执行数据库迁移指令: 接下来在文件 E:Python_projectP_001myshop-testmyshop

    2024年02月16日
    浏览(70)
  • Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查

    数据库操作 MySQL数据库+pymysql Django开发操作数据库更简单,内部提供了ORM框架。 安装第三方模块 ORM可以做的事: 1、创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】 2、操作表中的数据(不用写SQL语句)。 1、自己创建数据库 1)启动MySQL服务 2)自带

    2024年02月14日
    浏览(63)
  • Django框架-使用celery(一):django使用celery的通用配置,不受版本影响

    目录 一、依赖包情况 二、项目目录结构    2.1、怎么将django的应用创建到apps包 三、celery的配置 2.1、celery_task/celery.py 2.2、celery_task/async_task.py 2.3、celery_task/scheduler_task.py 2.4、utils/check_task.py 四、apps/user中配置相关处理视图 4.1、基本配置 4.2、user的models 4.3、user的视图函数 五、

    2024年02月13日
    浏览(47)
  • python在Django中,如何使用MySQL数据库进行分页怎么实现

    在Django中,使用MySQL数据库进行分页是一个相对简单的任务。Django的ORM提供了内置的分页功能,你只需要使用Paginator类即可。以下是一个基本的示例,展示了如何在Django中使用MySQL进行分页: 首先,确保你已经安装了Django和MySQL,并且已经配置了Django项目以使用MySQL数据库。

    2024年04月29日
    浏览(47)
  • Django Web开发(day4)——数据模型使用与填充网站数据(对数据库的基本操作)

    本博客将会涉及:  Django 数据模型的使用 视频数据的导入 admin 后台的使用  1、Django 数据模型的使用  在上一篇中完成了网站的数据模型的创建,在数据模型创建之后, Django 会为我们的数据模型创建一套数据库抽象的 API 接口,以供我们进行检索数据、创建数据、更新和修

    2024年01月18日
    浏览(54)
  • 【Web开发 | Django】数据库分流之道:探索Django多数据库路由最佳实践

    🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能硬件(虽然硬件还没开始玩,但一直

    2024年02月07日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包