============================================================================
原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。
请注明转自:http://yunjianfei.iteye.com/blog/
============================================================================
Gearman是一套非常优秀的任务分发框架,可以用于分布式计算。现在我来介绍一下gearmand服务的安装启动以及gearman的python 模块的安装以及简单例子。
操作系统:rnel 5.7
1. 首先,我们需要安装gearmand,在centos和rhel环境下,我们只需运行以下命令:
注意:如果不希望通过yum的方式来安装gearmand,可以参照我的另一个帖子,通过源码编译安装,地址为:http://yunjianfei.iteye.com/blog/2017078
安装完毕之后,我们启动gearmand服务
2. 安装python-gearman
gearman的python模块,地址为:https://pypi.python.org/pypi/gearman/2.0.2
我们可以用以下命令安装(两个命令均可,二选一):
pip install gearman
或者通过源码安装:
这样,我们就完成了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 echoClient.py
即可看到输出。
关于python-gearman的更多文档信息,可以参照:http://pythonhosted.org//gearman/
相关推荐
本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用! 一、概述: Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体的gearmand服务的安装启动及gearman的...
总结,Gearman 是一个强大的分布式任务队列系统,它的安装涉及到源码下载、解压、配置、编译、安装、启动以及客户端库的集成。在使用过程中,正确配置和监控 Gearmand 服务至关重要,以便充分利用其优势,提高系统的...
在这个“Gearman C# API和示例”项目中,我们将探讨如何使用C#语言与Gearman进行交互,以及如何在Visual Studio 2008环境下构建和运行相关的应用程序。 首先,让我们深入了解Gearman C# API。这个API为C#开发者提供...
该资源包括安装Gearman时可能涉及到的软件包 具体包括gearmand、gearman、php、gperf、libevent
这个例子展示了 Gearman 如何帮助我们将异步任务分发到分布式环境中执行,从而提高系统的扩展性和性能。 总结来说,Gearman Java APIs 提供了强大而灵活的工具,让开发者能够在 Java 应用程序中轻松实现分布式任务...
本篇文章将详细讲解如何在Linux环境中搭建Gearman,包括依赖库的安装和Gearman服务的配置。 首先,我们来看三个重要的依赖库: 1. **libevent-2.0.22-stable.tar.gz**: 这是libevent库的一个版本,它是一个事件...
资源分类:Python库 所属语言:Python 资源全名:gearman-1.3.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
对于Worker端代码,创建了一个GearmanWorker实例,并连接到Job服务器。定义了sum函数作为回调函数来处理计算任务,当有请求来时,从请求中获取序列化数据,进行计算,并返回结果。 5. Gearman的异步任务处理: ...
在本讨论中,我们将深入探讨Gearman的下载以及与Java相关的组件。 首先,我们看到一个名为`gearman-java-0.04-src.tar.gz`的文件,这是Gearman Java客户端的源代码包。这个版本为0.04,以tar.gz格式压缩,通常用于...
接下来,你需要在项目中包含必要的头文件,例如`#include <gearman/gearman.h>`,这将提供访问Gearman API的接口。然后,你可以使用`gearman_worker_create()`函数创建一个worker实例,并使用`gearman_worker_add_...
安装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手册chm,Gearman中文详解,分享gearman技术心得,主要是为了分享技术,所以不要大家的资源分。
确保你已经安装并启动了 Gearman 服务器。在服务器上,你可以使用 `gearmand` 命令启动服务。 ```bash sudo service gearmand start ``` ### Gearman 的优势 1. **异步处理**:通过 Gearman,可以将耗时的操作从...
Gearman是一个开源的、跨平台的作业调度系统,允许分布式环境中的应用通过简单的API进行通信。它提供了一个通用的后台任务处理框架,可以处理那些耗时较长或不适合在HTTP请求上下文中执行的任务,如邮件发送、数据...
GearMAN的主要特点包括多方式支持(支持PHP、Java、Python等多种编程语言)、持久化支持(异步任务支持扩展持久化)、多线程并发处理请求(提高任务处理效率)、TCP通信(相比HTTP请求节省系统资源)、简单的接入和...
3. **高可用性**:通过多个Gearman Server实例,可以构建高可用的服务集群,确保即使部分节点故障也能维持服务的连续性。 4. **任务优先级**:Gearman支持任务优先级设定,可以根据任务的重要程度进行调度。 5. **...
其实在gearman中,client和worker的编写不复杂,但是不同厂商提供的API是不大相同的,本附件中用的gearman java API就是java-gearman-service-0.6.6.jar,而不是gearman官方的gearman-java-0.6.jar。两者的调用API是...
1、错误描述 ...2、错误原因 数据库表中的字段:sno sname sage ssex 插入数据时: sno sname sage man 本来是想插入ssex这个字段的值为“man”,... 您可能感兴趣的文章:gearman的安装启动及python API使用实例rhel5.7下
资源分类:Python库 所属语言:Python 资源全名:gearman-2.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059