Django中实现异步发送短信验证码

Django中实现异步发送短信验证码,第1张

1.Celery简单介绍

Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子:

  • 异步任务:将耗时的 *** 作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音频处理等等

  • 做一个定时任务,比如每天定时执行爬虫爬取指定内容

  • 还可以使用celery实现简单的分布式爬虫系统等等

Celery 在执行任务时需要通过一个消息中间件(Broker)来接收和发送任务消息,以及存储任务结果

Celery有以下优点:

  • 简单:Celery 易于使用和维护,并且它 不需要配置文件 ,并且配置和使用还是比较简单的(后面会讲到配置文件可以有)

  • 高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务

  • 快速:单个 Celery 进程每分钟可处理数以百万计的任务,而保持往返延迟在亚毫秒级

  • 灵活: Celery 几乎所有部分都可以扩展或单独使用,各个部分可以自定义。

2.安装celery

pip install celery == 4.4.7

pip install redis == 3.5.3

pip install eventlet == 0.26.1

3.celery使用(异步发送短信)

1.在django项目mdpro/mdpro/下创建celery.py文件,配置以下内容:

 2.在django项目mdpro/mdpro/下创建config.py文件,配置以下内容:

3. 在django项目mdpro/mdpro/下__init__.py中写入以下内容:

4.celery异步发送短信

 

5. 启动celery

 发送短信调用示例:

 生成短信验证码并存储

 在myutils下新建sms_send.py, 把发送短信的方法添加到公共方法中,方便复用

 短信验证码接口

  验证码校验

Celery的内容已经讲完啦,不知道你看懂了多少?今天就先到此为止吧。明天我还会继续分享Python干货,记得来学习哟。 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/867646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-12
下一篇 2022-05-12

发表评论

登录后才能评论

评论列表(0条)

保存