백엔드 개발 파이썬 튜토리얼 gearman的安装启动及python API使用实例

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

Jun 16, 2016 am 08:43 AM
api gearman python 사용 시작하다 설치하다

本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用!

一、概述:

Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体的gearmand服务的安装启动及gearman的python 模块的安装以及简单示例如下:
 
操作系统:rnel 5.7

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

yum install gearmand -y
 
注意:如果不希望通过yum的方式来安装gearmand,可以通过源码编译安装,具体安装方法可以参考:http://www.jb51.net/article/51999.htm

安装完毕之后,就可以启动gearmand服务:

1

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

我们可以用以下命令安装(两个命令均可,二选一):

1

easy_install gearman

로그인 후 복사

1

pip install gearman

로그인 후 복사

或者也可以通过源码安装:

1

2

3

4

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#!/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

1

2

3

4

5

6

#!/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.然后,我们运行以下命令:

1

2

python echoWorker.py

python echoClient.py

로그인 후 복사

至此,即可看到输出。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DeepSeek Xiaomi를 다운로드하는 방법 DeepSeek Xiaomi를 다운로드하는 방법 Feb 19, 2025 pm 05:27 PM

DeepSeek Xiaomi를 다운로드하는 방법

템플릿의 장점과 단점은 무엇입니까? 템플릿의 장점과 단점은 무엇입니까? May 08, 2024 pm 03:51 PM

템플릿의 장점과 단점은 무엇입니까?

Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표 Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표 Jul 01, 2024 am 07:22 AM

Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표

당신은 그에게 Deepseek에게 어떻게 물어 봐요 당신은 그에게 Deepseek에게 어떻게 물어 봐요 Feb 19, 2025 pm 04:42 PM

당신은 그에게 Deepseek에게 어떻게 물어 봐요

NET40은 어떤 소프트웨어인가요? NET40은 어떤 소프트웨어인가요? May 10, 2024 am 01:12 AM

NET40은 어떤 소프트웨어인가요?

DeepSeek을 검색하는 방법 DeepSeek을 검색하는 방법 Feb 19, 2025 pm 05:18 PM

DeepSeek을 검색하는 방법

브라우저 플러그인은 어떤 언어로 작성되어 있나요? 브라우저 플러그인은 어떤 언어로 작성되어 있나요? May 08, 2024 pm 09:36 PM

브라우저 플러그인은 어떤 언어로 작성되어 있나요?

비트겟 런치풀이란? Bitget 런치풀은 어떻게 사용하나요? 비트겟 런치풀이란? Bitget 런치풀은 어떻게 사용하나요? Jun 07, 2024 pm 12:06 PM

비트겟 런치풀이란? Bitget 런치풀은 어떻게 사용하나요?

See all articles