gearman的安装启动及python API使用实例


Posted in Python onJuly 08, 2014

本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用!

一、概述:

Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体的gearmand服务的安装启动及gearman的python 模块的安装以及简单示例如下:
 
操作系统:rnel 5.7

1. 首先,我们需要安装gearmand,在centos和rhel环境下,我们只需运行以下命令:

yum install gearmand -y
 
注意:如果不希望通过yum的方式来安装gearmand,可以通过源码编译安装,具体安装方法可以参考:https://3water.com/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

至此,即可看到输出。

Python 相关文章推荐
python 装饰器功能以及函数参数使用介绍
Jan 27 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
使用Python绘制图表大全总结
Feb 11 Python
python实现用户管理系统
Jan 10 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
python绘制简单彩虹图
Nov 19 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
Django 批量插入数据的实现方法
Jan 12 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
使用numpy nonzero 找出非0元素
May 14 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
Apr 29 Python
python实现跨文件全局变量的方法
Jul 07 #Python
Python中的并发编程实例
Jul 07 #Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 #Python
python基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 #Python
python中使用urllib2获取http请求状态码的代码例子
Jul 07 #Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 #Python
python中使用urllib2伪造HTTP报头的2个方法
Jul 07 #Python
You might like
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
详解如何较好的使用js
2016/12/16 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
浅谈Python 的枚举 Enum
2017/06/12 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python