celery的异步简易使用方法

安装celery

  • pip install -U celery

定义celery包

在这里插入图片描述

  • main.py 为celery的启动文件,配置如下
from celery import Celery
创建celery实例
celery_app = Celery('项目或者应用名字')
加载celery配置
celery_app.config_from_object('celery_tasks.config')
自动注册celery任务
celery_app.autodiscover_tasks(['celery_tasks.sms'])
*列表中celery_tasks.sms为celery_tasks下新建的任务目录*
  • config.py为celery任务队列的数据库配置文件,配置如下
指定消息队列的位置
broker_url = 'redis://IP/7'
*ip为raids数据库所在服务器其IP,7为raids数据库中的7号库*

以异步短信任务为例

  • 在celery_tasks下创建需要异步的任务包sms

在这里插入图片描述

  • 在sms包下创建tasks.py文件,tasks.py文件配置如下
from celery_tasks.sms.yuntongxun.sms import CCP  #借用云通讯短信发送平台
from celery_tasks.sms.constans import SMS_CODE_EXPIRE_REDIS #常量
from celery_tasks.main import celery_app


@celery_app.task(name='send_sms_code')
def send_sms_code(mobile, sms_code):
    CCP().send_template_sms(mobile, [sms_code, SMS_CODE_EXPIRE_REDIS//60], 1)

- 再在需要发送短信的主业务逻辑中,导入celery_tasks.sms.send_sms_code

from celery_tasks.sms.tasks import send_sms_code

**- 在使用send_sms_code.delay(*args, kwargs)将任务添加到redis数据库队列进行执行

send_sms_code.delay(mobile, sms_code)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值