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/

你可能感兴趣的:(python,gearman,例子,入门,安装)