Celery 是一个简单灵活的Python并行处理框架,但是相关的几个工程需要独自安装和配置,给小白的使用带来困难。
OpenWorker是基于Python的并行处理框架,将集成Celery、Flower、Jobtastic和Rodeo工程,可以通过控制台或Web进行管理、提交任务等。
OpenWorker将这几个工程放到一起, 并增加了统一的安装脚本,让部署和安装、运行都更加方便。OpenWorker仅仅集成这些资源让数据研究者更易于使用,而不是替代原来的工程。由于这几个项目还在快速发展,因此也编写合并和更新的脚本,实现与原作者的代码库保持一致。
1、并行处理框架:Celery,http://www.celeryproject.org/
执行任务的分发和调度,使用消息总线进行通讯。
关于Celery的入门教程及参考:http://my.oschina.net/u/2306127/blog/420833
2、Web管理控制台:Flower,https://github.com/mher/flower
在远程通过Web界面监视和管理任务执行情况。
3、任务进度通知:Jobtastic,http://policystat.github.io/jobtastic/
为长时间运行的任务提供进度通知的Celery扩展库。
4、Web上Python控制台:
Rodeo:https://github.com/yhat/rodeo
可以在Web浏览器编写和执行Python代码,支持交互控制台,非常适合于探索式编程和数据研究。
5、Orange交互式流程设计和数据分析工具。
Orange是一个基于组件的数据挖掘和机器学习软件套装,支持Python进行脚本开发。更多资料参见http://my.oschina.net/u/2306127/blog/548833。
快速安装脚本(这里全部使用Python3):
mkdir ./openworker
echo "============================================="
echo "install rodeo,remote web based python console..."
git clone
cd rodeo
sudo python3 setup.py install
cd ..
echo "usage:"
echo " rodeo ."
echo "============================================="
echo "install celery, parallel python exec-engine ..."
#celery
sudo pip3 install celery
echo "Usage:"
echo " celery -A tasks worker --loglevel=info"
echo "============================================="
echo "install flower ...
sudo pip3 install flower
echo "If want latest version,install use:"
echo "sudo pip install https://github.com/mher/flower/zipball/master"
echo "Or get source code:"
echo "git clone https://github.com/mher/flower.git"
echo "Usage:"
echo "1: flower --port=5555"
echo "2: celery flower -A proj --address=127.0.0.1 --port=5555"
echo "3: celery flower -A proj --broker=amqp://guest:guest@localhost:5672//"
echo "============================================="
echo "install jobtastic-Job status feedback tool..."
sudo pip3 install jobtastic
echo "If you want latest version,install the source."
echo "git clone
echo "cd jobtastic && sudo python3 setup.py install && cd .."
echo ""
echo "===OpenWorker Dependence Installed.======="
启动rodeo服务后,可以远程运行python脚本,再去启动Celery相关的python脚本,执行并行计算服务的操作。
OpenWorker,欢迎参与:https://github.com/supergis/OpenWorker。
来源:oschina
链接:https://my.oschina.net/u/2306127/blog/490221