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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
在Python中使用第三方模块的教程
Apr 27 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Java及python正则表达式详解
Dec 27 Python
python中的随机函数小结
Jan 27 Python
python列表list保留顺序去重的实例
Dec 14 Python
python yield和Generator函数用法详解
Feb 10 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 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
xml+php动态载入与分页
2006/10/09 PHP
浅析PHP文件下载原理
2014/12/25 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
JavaScript自定义数组排序方法
2015/02/12 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
js重写方法的简单实现
2016/07/10 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
python修改文件内容的3种方法详解
2019/11/15 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
聚网科技C++面试笔试题
2015/09/01 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
2013年军训通讯稿
2014/02/05 职场文书
个人课题方案
2014/05/08 职场文书
环保标语口号
2014/06/13 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
出国留学导师推荐信
2015/03/26 职场文书
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫