首页 > 其他 > 详细

使用djcelery发送邮件

时间:2017-10-23 00:21:06      阅读:342      评论:0      收藏:0      [点我收藏+]

发送邮件作为一个独立的业务模块,我们把它放到另外一个文件中,定义一个task文件,里面定义发送邮件的功能, 需要用到django.core.mail 里面的send_mail这个函数 发送邮件与网络环境和服务器负载有关,有时需要等待一会才会完成,为了提高用户体验,需要借用celery。

技术分享

 

 

 

? 任务task:就是一个Python函数。
? 队列queue:将需要执行的任务加入到队列中。
? 工人worker:在一个新进程中,负责执行队列中的任务。
? 代理人broker:负责调度,在布置环境中使用redis。
从celery中导入task。
setting中要进行配置:import djcelery--> djcelery.setup_loader()---->
BROKER_URL=‘redis://127.0.0.1:6379/3 用task装饰器装饰发送邮件的函数 @task send_register_email,这样发送邮件就成了一个个任务,然后放到任务队列中,(此处我们使用redis作为任务队列)------>send_register_email.delay(),注意,后面的括号写任务函数的参数(若有)。
最后我们发现只有worker还没有启动,那么就启动worker吧: python manage.py celery worker --loglevel=info

使用djcelery发送邮件

原文:http://www.cnblogs.com/zzcpy/p/7712587.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!