ホームページ >バックエンド開発 >Python チュートリアル >Gearmanのインストール起動とPython APIの使用例
この記事では、Webサイト構築やサーバーメンテナンスに役立つGearmanのインストールと起動、Python APIの利用例を解説します!
1. 概要:
Gearman は、分散コンピューティングに使用できる優れたタスク分散フレームワークです。 Gearmand サービスの具体的なインストールと起動、Gearman の Python モジュールのインストールと簡単な例は次のとおりです。
オペレーティング システム: rnel 5.7
gearmand をインストールする必要があります。centos および rhel 環境では、次のコマンドを実行するだけです。
yum install gearmand -y
注: yum を介して gearmand をインストールしたくない場合は、ソース コードを使用してコンパイルしてインストールできます。具体的なインストール方法については、http://www.jb51.net/article/51999.htm
を参照してください。
gearmand -p 4730 -L 10.22.10.90 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -d2.
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 の例を示します。
まず、ワーカーを記述する必要があります。コードは次のとおりです:
#!/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この時点で、出力が表示されます。