gearman的安装启动及python API使用实例
本文讲述了gearman的安装启动及pythonAPI使用实例,对于网站建设及服务器维护来说非常有用!
一、概述:
Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体的gearmand服务的安装启动及gearman的python模块的安装以及简单示例如下:
操作系统:rnel5.7
1.首先,我们需要安装gearmand,在centos和rhel环境下,我们只需运行以下命令:
yuminstallgearmand-y
注意:如果不希望通过yum的方式来安装gearmand,可以通过源码编译安装,具体安装方法可以参考:https://www.nhooo.com/article/51999.htm
安装完毕之后,就可以启动gearmand服务:
gearmand-p4730-L10.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_installgearman
pipinstallgearman
或者也可以通过源码安装:
wgethttps://pypi.python.org/packages/source/g/gearman/gearman-2.0.2.tar.gz--no-check-certificate tarzxvfgearman-2.0.2.tar.gz cdgearman-2.0.2 pythonsetup.pyinstall
这样,我们就完成了python-gearman的安装。
二、使用示例:
下面,列举一个简单的python例子:
首先,我们需要编写一个worker,代码如下:
1.文件名:echoWorker.py
#!/usr/bin/envpython importos importgearman importmath classMyGearmanWorker(gearman.GearmanWorker): defon_job_execute(self,current_job): print"Jobstarted" print"===================\n" returnsuper(MyGearmanWorker,self).on_job_execute(current_job) deftask_callback(gearman_worker,gearman_job): printgearman_job.data print"-----------\n" returngearman_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/envpython2.7 fromgearmanimportGearmanClient gearman_client=GearmanClient(['192.168.12.34:4730']) gearman_request=gearman_client.submit_job('echo','testgearman') result_data=gearman_request.result printresult_data
注意上面GearmanClient(['192.168.12.34:4730'])中的IP地址,需要根据实际启动gearmand服务的IP地址和端口号为准。
3.然后,我们运行以下命令:
pythonechoWorker.py pythonechoClient.py
至此,即可看到输出。