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爬虫之抓取糗事百科代码分享
Nov 06 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
python基本语法练习实例
Sep 19 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
详谈python中冒号与逗号的区别
Apr 18 Python
python图像和办公文档处理总结
May 28 Python
python3模拟实现xshell远程执行liunx命令的方法
Jul 12 Python
python openpyxl使用方法详解
Jul 18 Python
Python的缺点和劣势分析
Nov 19 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python,Java,JavaScript实现indexOf
Sep 09 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 定界符 使用技巧
2009/06/14 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
JS hashMap实例详解
2016/05/26 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
vue webuploader 文件上传组件开发
2017/09/23 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
layui添加动态菜单与选项卡
2019/07/26 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
Javascript执行流程细节原理解析
2020/05/14 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
Django中使用Celery的方法示例
2018/11/29 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
解决python 文本过滤和清理问题
2019/08/28 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
Python3运算符常见用法分析
2020/02/14 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
公司庆典活动邀请函
2014/01/09 职场文书
求职简历中自我评价
2014/01/28 职场文书
金融管理应届生求职信
2014/02/20 职场文书
高一新生军训方案
2014/05/12 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
青年志愿者活动感想
2015/08/07 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript