基于Celery的并行處理工程-OpenWorker快速安裝
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。