安装两个python包:

pip install celery==3.1.25

pip install django-celery==3.1.17

在配置文件settings.py中做如下配置:

a)    首先注册应用djcelery并做如下配置。

         import djcelery
         djcelery.setup_loader()
     BROKER_URL = 'redis://127.0.0.1:6379/2'

b)    生成djcelery所依赖的表。

python manage.py migrate

c)    在应用目录下新建一个tasks.py文件。

# 写celery任务函数
from celery import task
from django.core.mail import send_mail
from django.conf import settings
import time @task
def send_register_success_mail(username, password, email):
message = '<h1>欢迎您成为注册会员</h1>请记好您的信息:<br/>用户名:' + username + '<br/>密码:' + password
send_mail('欢迎信息', '', settings.EMAIL_FROM, [email], html_message=message)
time.sleep(5)

d)    任务函数中将发送邮件任务加入任务队列

# /user/register_handle/
def register_handle(request):
'''实现用户注册'''
# 1.接收用户的注册信息
username = request.POST.get('user_name')
password = request.POST.get('pwd')
email = request.POST.get('email')
# 2.保存进数据库
Passport.objects.add_one_passport(username=username, password=password, email=email)
# 3.给用户注册邮箱发邮件
# message = '<h1>欢迎您成为注册会员</h1>请记好您的信息:<br/>用户名:'+username+'<br/>密码:'+password
# send_mail('欢迎信息', '', settings.EMAIL_FROM, [email], html_message=message)
# time.sleep(5)
# 将任务放入任务队列
send_register_success_mail.delay(username=username, password=password, email=email)
# 3.跳转到登录页面 /user/login/
return redirect('/user/login/')

启动worker进行

python manage.py celery worker --loglevel=info

异步任务--celery发送邮件的更多相关文章

  1. 15 Django之Celery发送邮件

    异步任务--celery发送邮件 安装两个python包: pip install celery==3.1.25 pip install django-celery==3.2.1 pip instal ...

  2. [django]python异步神器-celery

    python异步神器celery https://segmentfault.com/a/1190000007780963

  3. Django+Celery+Redis实现异步任务(发送邮件)

    安装如下依赖库 pip install Celery pip install django-celery pip install django-redis 还要安装本地的Redis服务 setting ...

  4. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  5. 异步测试celery

    django异步请求: Django从一个http请求发起,到获得响应返回html页面的流程大致如下:http请求发起 -- http handling(request解析) -- url mappi ...

  6. Python开发异步任务Celery的使用教程!

    1. 生产者消费者设计模式 最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联.我们称这一解耦方式为:生产者消费者设计模式 2.中间人broker 示例:此处演示Redis ...

  7. 分布式异步框架celery

    Celery 1.什么是Clelery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组 ...

  8. django项目学习之异步框架celery

    最近用django一个网上商城项目的时候用两个扩展,感觉还不错,所以在此记录一下. 首先来说下celery,celery是一个处理异步任务的框架,需要下载celery包,一般在项目需要进行耗时操作的时 ...

  9. Python—异步任务队列Celery简单使用

    一.Celery简介 Celery是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具.它是一个任务队列,专注于实时处理,同时还支持任务调度. 中间人boker: ...

随机推荐

  1. 201521123060 《Java程序设计》第11周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2.书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1. ...

  2. Ajax跨域问题的出现和解决

    什么是跨域? 1).请求是执行过去了,但是响应的数据拿不到 2).浏览器有一个安全限制叫同源策略(针对ajax请求): 从http://localhost:80/member/apply.html页面 ...

  3. Java Classloader机制解析(转)

    做Java开发,对于ClassLoader的机制是必须要熟悉的基础知识,本文针对Java ClassLoader的机制做一个简要的总结.因为不同的JVM的实现不同,本文所描述的内容均只限于Hotspo ...

  4. 阿里云linux centos 一键部署web环境--图文详解

    一.购买阿里云服务器ECS 1,登录阿里云,选择阿里云服务器ECS 2,创建实例 或 3,选好配置 4,完成配置 注:记住用户名和密码 二.一键配置linux环境 1,下载xshell,安装成功后,建 ...

  5. Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动

    在启动VS2010项目时,遇到如图所示"Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动"的问题. 原因是VS2010安装路径(我的是D: ...

  6. python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAEmCAIAAACmsIlUAAAgAElEQVR4nOydezxU+f/HP49WSstKkZ

  7. ASP.NET Core 2.0 使用支付宝PC网站支付

    前言 最近在使用ASP.NET Core来进行开发,刚好有个接入支付宝支付的需求,百度了一下没找到相关的资料,看了官方的SDK以及Demo都还是.NET Framework的,所以就先根据官方SDK的 ...

  8. android studio集成ijkplayer

    介绍 ijkplayer是一款非常火的开源视频播放器,android和IOS通用.关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录.ijkplayer ...

  9. Another Easy Problem fzu1753

    Another Easy Problem Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u ...

  10. Milk Patterns poj3261(后缀数组)

    Milk Patterns Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 9274   Accepted: 4173 Cas ...