`
xiaoyu966
  • 浏览: 258170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gearman的安装启动以及python API入门例子

阅读更多

============================================================================

原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。

请注明转自:http://yunjianfei.iteye.com/blog/

============================================================================


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

 

操作系统:rnel 5.7

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

yum install gearmand -y

 

注意:如果不希望通过yum的方式来安装gearmand,可以参照我的另一个帖子,通过源码编译安装,地址为:http://yunjianfei.iteye.com/blog/2017078

安装完毕之后,我们启动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,代码如下:

文件名: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()

 然后,编写client,如下:

文件名:echoClient.py

#!/usr/bin/env python2.7

from gearman import GearmanClient


gearman_client = GearmanClient(['192.168.10.11:4730'])

gearman_request = gearman_client.submit_job('echo', 'test gearman')

result_data = gearman_request.result
print result_data

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

 

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

python echoWorker.py

python echoClient.py

 即可看到输出。

 

关于python-gearman的更多文档信息,可以参照:http://pythonhosted.org//gearman/

0
0
分享到:
评论

相关推荐

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

    本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用! 一、概述: Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体的gearmand服务的安装启动及gearman的...

    Gearman安装相关资源

    总结,Gearman 是一个强大的分布式任务队列系统,它的安装涉及到源码下载、解压、配置、编译、安装、启动以及客户端库的集成。在使用过程中,正确配置和监控 Gearmand 服务至关重要,以便充分利用其优势,提高系统的...

    Gearman C# API和示例

    在这个“Gearman C# API和示例”项目中,我们将探讨如何使用C#语言与Gearman进行交互,以及如何在Visual Studio 2008环境下构建和运行相关的应用程序。 首先,让我们深入了解Gearman C# API。这个API为C#开发者提供...

    Gearman安装可能涉及到的安装包

    该资源包括安装Gearman时可能涉及到的软件包 具体包括gearmand、gearman、php、gperf、libevent

    Gearman java APIs和一个小Demo

    这个例子展示了 Gearman 如何帮助我们将异步任务分发到分布式环境中执行,从而提高系统的扩展性和性能。 总结来说,Gearman Java APIs 提供了强大而灵活的工具,让开发者能够在 Java 应用程序中轻松实现分布式任务...

    Gearman环境搭建资料

    本篇文章将详细讲解如何在Linux环境中搭建Gearman,包括依赖库的安装和Gearman服务的配置。 首先,我们来看三个重要的依赖库: 1. **libevent-2.0.22-stable.tar.gz**: 这是libevent库的一个版本,它是一个事件...

    Python库 | gearman-1.3.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:gearman-1.3.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    php使用gearman进行任务分发操作实例详解

    对于Worker端代码,创建了一个GearmanWorker实例,并连接到Job服务器。定义了sum函数作为回调函数来处理计算任务,当有请求来时,从请求中获取序列化数据,进行计算,并返回结果。 5. Gearman的异步任务处理: ...

    gearman下载gearman下载

    在本讨论中,我们将深入探讨Gearman的下载以及与Java相关的组件。 首先,我们看到一个名为`gearman-java-0.04-src.tar.gz`的文件,这是Gearman Java客户端的源代码包。这个版本为0.04,以tar.gz格式压缩,通常用于...

    Gearman Worker实例 C++ vs2008

    接下来,你需要在项目中包含必要的头文件,例如`#include <gearman/gearman.h>`,这将提供访问Gearman API的接口。然后,你可以使用`gearman_worker_create()`函数创建一个worker实例,并使用`gearman_worker_add_...

    gearman安装包 rpm

    安装gearman 如果没有mysql客户端,需要安装mysql客户端 yum install -y libevent-devel 上传gearman.zip,解压unzip gearman.zip rpm -ivh uuid-1.5.1-3.el5.x86_64.rpm rpm -ivh libgearman-1.1.8-2.el5.x86_64...

    Gearman中文手册,Gearman中文详解,gearman手册chm

    Gearman中文手册,gearman手册chm,Gearman中文详解,分享gearman技术心得,主要是为了分享技术,所以不要大家的资源分。

    Laravel开发-php-gearman

    确保你已经安装并启动了 Gearman 服务器。在服务器上,你可以使用 `gearmand` 命令启动服务。 ```bash sudo service gearmand start ``` ### Gearman 的优势 1. **异步处理**:通过 Gearman,可以将耗时的操作从...

    Laravel开发-laravel-gearman-rpc

    Gearman是一个开源的、跨平台的作业调度系统,允许分布式环境中的应用通过简单的API进行通信。它提供了一个通用的后台任务处理框架,可以处理那些耗时较长或不适合在HTTP请求上下文中执行的任务,如邮件发送、数据...

    GearMAN讲解及所带来的变革

    GearMAN的主要特点包括多方式支持(支持PHP、Java、Python等多种编程语言)、持久化支持(异步任务支持扩展持久化)、多线程并发处理请求(提高任务处理效率)、TCP通信(相比HTTP请求节省系统资源)、简单的接入和...

    gearman 文档

    3. **高可用性**:通过多个Gearman Server实例,可以构建高可用的服务集群,确保即使部分节点故障也能维持服务的连续性。 4. **任务优先级**:Gearman支持任务优先级设定,可以根据任务的重要程度进行调度。 5. **...

    java-gearman-service-0.6.6.zip

    其实在gearman中,client和worker的编写不复杂,但是不同厂商提供的API是不大相同的,本附件中用的gearman java API就是java-gearman-service-0.6.6.jar,而不是gearman官方的gearman-java-0.6.jar。两者的调用API是...

    MySQL插入数据时插入无效列的解决方法

    1、错误描述 ...2、错误原因 数据库表中的字段:sno sname sage ssex 插入数据时: sno sname sage man 本来是想插入ssex这个字段的值为“man”,... 您可能感兴趣的文章:gearman的安装启动及python API使用实例rhel5.7下

    Python库 | gearman-2.0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:gearman-2.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics