Windows 环境下基于 Redis 的 Celery 任务调度模块的实现

搭建环境:

Windows-x64 10
Celery 3.1.23
Celery-with-redis 3.0
Redis-win32-win64 2.4.5
 
实现步骤:
1.安装 Redis
由于 Redis 并没有官方支持 Windows,因此需要在 https://github.com/MSOpenTech/redis 中下载 Redis 包。
随后,只需将对应的压缩包解压缩至相应的目录即可。
2.安装 Celery 相关库
# pip intall celery
# pip install celery-with-redis
3.编写基于 Celery 的异步程序
假设编写异步邮件发送程序,其中异步发送邮件的函数名为 Send_Mail,定义于 mail.py 文件中。
注意:初始化 Celery 对象时要指定任务名称、Celery 后端(backend)执行的消息及结果的实现方式、Celery中间人(broker)的实现方式。
例如:初始化 Celery 对象任务名为 mail,后端通过 Redis 保存信息,消息队列也由 Redis 提供服务,如下所示。
celery = Celery('mail', backend='redis://localhost', broker='redis://localhost:6379/0')
4.启动 Redis
管理员权限运行 cmd 环境,进入 Redis 目录,运行如下命令启动 Redis。
# redis-server.exe redis.conf
5.启动 Celery 处理任务
以管理员权限运行 cmd 环境,激活 virtualenv。
假设 mail.py 封装于名位 mail 的包内,且 mail 包处于 src 目录下,则进入 mail 包的前级目录下(即src),运行如下命令。
注意:单进程命令如下。
# celery -A mail.mail worker -l info -P solo
注意:多进程并发命令如下。Celery 默认设置 Worker 以 Pool 模式启动,默认大小为 CPU 核心数量,缺省序列化机制是 pickle,但可以指定为 json。
# celery -A mail.mail worker -l info
6.运行基于 Celery 的异步程序
运行调用异步发送邮件函数的程序,便可以实现异步发送邮件的功能。
随后,便可在 Celery 的 Worker 界面中看到类似的任务处理消息。

windows下安装redis、celery,并启动测试的更多相关文章

  1. Windows下安装Redis

    1.首先,Redis官方是支持Linux系统的,我这里不多说,需要的可以参考:http://www.oschina.net/question/12_18065/ 2.Windows 64位下载地址:h ...

  2. windows下安装Redis并部署成服务

    windows下安装Redis并部署成服务 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 一:下载 下载地址: windows版本: http ...

  3. Windows下安装Redis及php的redis拓展教程

    一.安装前必读 Windows 64位操作系统 Redis 安装包(版本3.0.5,截止2017-05-29最新redis版本为3.2.9) 注意事项: 1.在window下如果你还需安装php的re ...

  4. <转>windows下安装redis

    1.redis简介redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  5. Windows下安装redis,并与PHP使用

    一.在windows下安装redis: redis的官方网站下载地址:http://redis.io/download 进入以上网址之后,请见以下的图片操作下载redis: 第一步: 第二步:在对应的 ...

  6. windows下安装redis和php的redis扩展

    1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  7. windows下安装redis(转)

    add by zhj: redis相比memcached相比,性能上并没有绝对的优势.我们用redis的是因为它支持更多的数据类型,而且在分配给redis的内存用满了之后, redis也不会删除没有过 ...

  8. windows 下安装redis并且测试(php)

    Window 下安装 下载地址:https://github.com/dmajkic/redis/downloads. 下载到的Redis支持32bit和64bit.根据自己实际情况选择,将64bit ...

  9. windows下安装redis以及测试

    Window 下安装 下载地址:https://github.com/dmajkic/redis/downloads. 下载到的Redis支持32bit和64bit.根据自己实际情况选择,将64bit ...

  10. windows下安装redis以及测试 --转载自http://www.cnblogs.com/lpyan/p/5608333.html

    redis加入到Windows 服务 以下方式,需要在redis-2.8.24下执行:http://download.csdn.net/download/feiliua/9425770 ,另外php的 ...

随机推荐

  1. Singer House CodeForces - 830D (组合计数,dp)

    大意: 一个$k$层完全二叉树, 每个节点向它祖先连边, 就得到一个$k$房子, 求$k$房子的所有简单路径数. $DP$好题. 首先设$dp_{i,j}$表示$i$房子, 分出$j$条简单路径的方案 ...

  2. 刷新ip地址 windows linux系统

    linux:使用dhcp去更新ip与释放ip 释放ip: dhclient -r eth0 (释放eth0的ip) 更新ip : dhclient eth0 (针对eth0,请求新的ip) windo ...

  3. 数据结构之队列(queue)

    队列介绍 1.队列是一个有序列表,可以用数组或是链表来实现. 2.遵循先入先出的原则.即:先存入队列的数据,要先取出.后存入的要后取出. 应用场景 比如某某银行叫号系统: 数组模拟队列 队列本身是有序 ...

  4. iOS - 基础知识总结(OC版) 面试必看 再不看就要用swift了

    OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定.动态加载等).总体来讲,OC确实是一门不错 ...

  5. CSS3浏览器私有属性

    CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分.因此每种内核的浏览器都只能识别带有自身私有前缀的CSS3属性.我们在书写CSS3代 ...

  6. JavaScript,遍历,for

    (for循环,for...in ,for...of ,forEach)(:for in总是得到数组,字符串的下标,而for of和forEach一样,是直接得到值) (forEach() 方法用于调用 ...

  7. css 设置overflow:scroll 滚动条的样式

    /* 定义滚动条样式 */ ::-webkit-scrollbar { width: 6px; height: 6px; background-color: rgba(240, 240, 240, 1 ...

  8. 前端相关UED团队和个人博客整理

    平时收集的UED的团队和个人博客一些有关/*********************************这次真的是搬运工,原文转载自蓝色理想********************/ 前端团队推荐 ...

  9. Vue组件component创建及使用

    组件化与模块化的区别 什么是组件:组件的出现,就是为了拆分Vue实例的代码量,能够让我们以不同的组件,来划分不同的功能模块 ,将来我们需要什么功能,就可以去调用对应的组件即可 组件化与模块化的不同: ...

  10. LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)

    测试环境:CentOS release 6.5 (Final) 软件安装:nginx   mysql-5.5.32-linux2.6-x86_64.tar.gz   php-5.3.27.tar.gz ...