本文講述了gearman的安裝啟動及python API使用實例,對于網站建設及服務器維護來說非常有用!
一、概述:
Gearman是一款非常優秀的任務分發框架,可以用于分布式計算。具體的gearmand服務的安裝啟動及gearman的python 模塊的安裝以及簡單示例如下:
?
操作系統:rnel 5.7
1. 首先,我們需要 安裝gearmand ,在centos和rhel環境下,我們只需運行以下命令:
yum install gearmand -y
?
注意:如果不希望通過yum的方式來安裝gearmand,可以通過源碼編譯安裝,具體安裝方法可以參考://www.jb51.net/article/51999.htm
安裝完畢之后,就可以啟動gearmand服務:
gearmand -p 4730 -L 10.22.10.90 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -d
2. 安裝python-gearman
gearman的python模塊,下載地址為:https://pypi.python.org/pypi/gearman/2.0.2
我們可以用以下命令安裝(兩個命令均可,二選一):
easy_install gearman
pip install gearman
或者也可以通過源碼安裝:
wget https://pypi.python.org/packages/source/g/gearman/gearman-2.0.2.tar.gz --no-check-certificate tar zxvf gearman-2.0.2.tar.gz cd gearman-2.0.2 python setup.py install
這樣,我們就完成了python-gearman的安裝。
二、使用示例:
下面,列舉一個簡單的python例子:
首先,我們需要編寫一個worker,代碼如下:
1.文件名:echoWorker.py
#!/usr/bin/env python import os import gearman import math class MyGearmanWorker(gearman.GearmanWorker): def on_job_execute(self, current_job): print "Job started" print "===================\n" return super(MyGearmanWorker, self).on_job_execute(current_job) def task_callback(gearman_worker, gearman_job): print gearman_job.data print "-----------\n" return gearman_job.data my_worker = MyGearmanWorker(['10.22.10.47:4730']) my_worker.register_task("echo", task_callback) my_worker.work()
2.編寫client,如下:
文件名:echoClient.py
#!/usr/bin/env python2.7 from gearman import GearmanClient gearman_client = GearmanClient(['192.168.12.34:4730']) gearman_request = gearman_client.submit_job('echo', 'test gearman') result_data = gearman_request.result print result_data
注意上面GearmanClient(['192.168.12.34:4730'])中的IP地址,需要根據實際啟動gearmand服務的IP地址和端口號為準。
?
3.然后,我們運行以下命令:
python echoWorker.py python echoClient.py
至此,即可看到輸出。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
