博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
阅读量:5248 次
发布时间:2019-06-14

本文共 1117 字,大约阅读时间需要 3 分钟。

搭建环境:

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

转载于:https://www.cnblogs.com/autopenguin/p/5956460.html

你可能感兴趣的文章
gcd函数两种实现(参考)
查看>>
色彩理论学习-摘自百度百科
查看>>
git简单用法
查看>>
python入门16 递归函数 高阶函数
查看>>
JAVA学习课本内容总结
查看>>
Android之Activity系列总结(三)--Activity的四种启动模式
查看>>
烽火传递
查看>>
2018.06.29 NOIP模拟 旅馆(线段树)
查看>>
2018.07.23 codeforces 438D. The Child and Sequence(线段树)
查看>>
2019.03.09 codeforces833B. The Bakery(线段树优化dp)
查看>>
uestc 一个简单的迷宫问题
查看>>
uestc SOUND OF DESTINY
查看>>
Servlet的HelloWorld
查看>>
『减少重复代码!』
查看>>
h5视频微信禁止全屏 x5-playsinline
查看>>
man rsync翻译(rsync命令中文手册)
查看>>
Perl和操作系统交互(二):fork
查看>>
Hadoop入门——初识Hadoop 自学hadoop视频教程
查看>>
ASP.NET验证码
查看>>
assert、exit和return函数的介绍
查看>>