gearman的安裝啓動以及python API入門例子

============================================================================

原創作品,允許轉載。轉載時請務必以超鏈接形式標明原始出處、以及本聲明。

請註明轉自:http://yunjianfei.iteye.com/blog/

============================================================================


Gearman是一套非常優秀的任務分發框架,可以用於分佈式計算。現在我來介紹一下gearmand服務的安裝啓動以及gearman的python 模塊的安裝以及簡單例子。

 

操作系統:rnel 5.7

1. 首先,我們需要安裝gearmand,在centos和rhel環境下,我們只需運行以下命令:

yum install gearmand -y

 

注意:如果不希望通過yum的方式來安裝gearmand,可以參照我的另一個帖子,通過源碼編譯安裝,地址爲:http://yunjianfei.iteye.com/blog/2017078

安裝完畢之後,我們啓動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,代碼如下:

文件名: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()

 然後,編寫client,如下:

文件名:echoClient.py

#!/usr/bin/env python2.7

from gearman import GearmanClient


gearman_client = GearmanClient(['192.168.10.11:4730'])

gearman_request = gearman_client.submit_job('echo', 'test gearman')

result_data = gearman_request.result
print result_data

 注意上面GearmanClient(['192.168.10.11:4730'])中的IP地址,需要根據實際啓動gearmand服務的IP地址和端口號爲準。

 

然後,我們運行以下命令:

python echoWorker.py

python echoClient.py

 即可看到輸出。

 

關於python-gearman的更多文檔信息,可以參照:http://pythonhosted.org//gearman/

發佈了19 篇原創文章 · 獲贊 16 · 訪問量 8329
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章