Python 中可以使用Celery框架
Celery框架是提供异步任务处理的框架,有两种用法,一种:应用程式发布任务消息,后台Worker监听执行,好处在于不影响应用程序继续执行。第二种,设置定时执行(这边没测)
Celery框架4.0以上不支持windows环境安装了,但是3.0左右还是可以使用的
配套Python2.7 就比较完美。
1. 安装Celery 需要在Python 2.7中pip install Celery 和其他一些附属包例如:amqplib,billiard,kombu,librabbitmq,pymssql,redis 等
安装完成后:
2.测试Celery是否安装OK
简单例子流程:
3.写发布任务和执行任务的代码(Rabbit MQ 安装请参考安装那一章)
发布的任务: 链接数据库获取10笔数据,当作任务的参数传递给Rabbit MQ
发送任务,只需要直接运行这个CeleryGet.py文件
RabbitMQ:接收到消息(当不开启处理任务程式,那么任务就在Rabbit MQ中存储)
处理任务程式:(把任务中做为参数传递到MQ的数据获取下来,并insert到一个数据库中)
在此CelerySend.py 根目录下运行命令: celery
-A CelerySend worker --loglevel=info
结果:
成功处理任务后显示:
每个任务都有一个独特的TaskID, []中间的部分, Succeeded 表示任务执行状态,
有个重点,可以配置redis数据库,对任务的状态和执行进行结果进行保存。此部分没有增加
所以Results: 后面为空