搭建环境:

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 界面中看到类似的任务处理消息。

最新文章

  1. Lind.DDD.Plugins~插件模式的集成
  2. 【USACO 2.4】Fractions to Decimals(分数转小数)
  3. 分布式入门之5:paxos
  4. slim框架中防止crsf攻击时,用到的函数hash_equals
  5. 解决insmod: error inserting 'hello.ko': -1 Invalid module format
  6. SharePoint CMAL方式处理的 增,删,查,改
  7. console.read()读入的内容
  8. Java--CyclicBarrier使用简介
  9. DateTime.Compare(t1,t2)比較两个日期大小
  10. [20160711][VS2012配置OpenCV2.4.9]
  11. Java经典编程题50道之四十三
  12. 转载:MySQL EXPLAIN 命令详解学习
  13. Ubuntu无法进入Windows的NTFS分区
  14. Fiddler 手机抓包介绍
  15. 自然语言处理之:搭建基于HanLP的开发环境(转)
  16. cocos代码研究(5)Action学习笔记
  17. 2.4 Oracle之DCL的SQL语句之用户权限以及三大范式
  18. 翻翻git之---效果鲜明的类ViewPager库 ConvenientBanner(对图片载入部分进行改动)
  19. jQuery 初识
  20. 02 - Unit06:弹出对话框

热门文章

  1. Xcode中的iOS工程模板
  2. VS2012 Build相关
  3. meta的Name为apple-itunes-app 是什么意思
  4. Android 系统的四层结构
  5. Oracle EBS Report 输出字符字段前部"0"被Excel自动去掉问题
  6. poj2352Stars
  7. Codeforces 374A - Inna and Pink Pony
  8. 请用一句话概括JSONP
  9. UVa 753 (二分图最大匹配) A Plug for UNIX
  10. [POJ 3420] Quad Tiling