ホームページ >バックエンド開発 >Python チュートリアル >Gearmanのインストール起動とPython APIの使用例

Gearmanのインストール起動とPython APIの使用例

WBOY
WBOYオリジナル
2016-06-16 08:43:191441ブラウズ

この記事では、Webサイト構築やサーバーメンテナンスに役立つGearmanのインストールと起動、Python APIの利用例を解説します!

1. 概要:

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 サービスを開始できます。

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 のインストールが完了しました。

2. 使用例:

以下に、簡単な Python の例を示します。

まず、ワーカーを記述する必要があります。コードは次のとおりです:

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. クライアントを次のように記述します。

ファイル名: 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

この時点で、出力が表示されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。