• 使用djcelery发送邮件


    发送邮件作为一个独立的业务模块,我们把它放到另外一个文件中,定义一个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

  • 相关阅读:
    案例7-1.2 插入排序还是归并排序 (25分)
    自动化运维工具——puppet详解(一)
    centos6.8的安装和配置
    ZooKeeper内部原理
    ZooKeeper安装和配置
    zookeeper入门
    shell中uniq与sort -u 两种去重的对别
    tomcat日志文件 访问IP统计
    Mysql常用命令
    linux一键安装php脚本
  • 原文地址:https://www.cnblogs.com/zzcpy/p/7712587.html
Copyright © 2020-2023  润新知