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 multiprocessing模块中的Pipe管道使用实例
Apr 11 Python
Python3使用requests发闪存的方法
May 11 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 Python
python给微信好友定时推送消息的示例
Feb 20 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
Python hashlib模块实例使用详解
Dec 24 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
python将图片转为矢量图的方法步骤
Mar 30 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输出XML到页面的3种方法详解
2013/06/06 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python实现学校管理系统
2018/01/11 Python
Django rest framework实现分页的示例
2018/05/24 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
二手房购房意向书范本
2014/04/01 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
消防安全宣传口号
2014/06/10 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
秋收起义观后感
2015/06/11 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
靠谱准确的求职信
2019/04/02 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers