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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值