python gearmand

Gearman是一套非常优秀的任务分发框架,可以用于分布式计算。现在我来介绍一下gearmand服务的安装启动以及gearman的python 模块的安装以及简单例子。

操作系统:Red Hat 4.4.7-4

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

yum install gearmand -y
安装完毕之后,我们启动gearmand服务
gearmand -d

  1. 安装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安装模块出错(No module named setuptools)解决方法
解决方法:
wget  https://bootstrap.pypa.io/ez_setup.py 
python ez_setup.py

之后再安装需求安装的命令:
python setup.py install 即可自动安装各种其他模块了

==============================================================================、

下面,列举一个简单的python例子:

首先,我们需要编写一个worker,代码如下:

文件名:work.py

import os  
import gearman  
import math  
  
class CustomGearmanWorker(gearman.GearmanWorker):    
    def on_job_execute(self, current_job):    
        print "Job started"   
        return super(CustomGearmanWorker, self).on_job_execute(current_job)    
   
def task_callback(gearman_worker, job):    
    print "work task_callback" 
    print job.data
    return job.data  
   
new_worker = CustomGearmanWorker(['10.0.2.15:4730'])    
new_worker.register_task("echo", task_callback)    
new_worker.work()  

然后,编写client,如下:

文件名:client.py

from gearman import GearmanClient  
  
new_client = GearmanClient(['10.0.2.15:4730'])  
current_request = new_client.submit_job('echo', '1111111')  
new_result = current_request.result  
print new_result  

注意上面GearmanClient([‘10.0.2.15:4730’])中的IP地址,需要根据实际启动gearmand服务的IP地址和端口号为准。

然后,我们运行以下命令:

在一个命令终端执行:

python work.py
在这里插入图片描述

在另外一个命令终端执行:
python client.py
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值