この記事では、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 -d
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
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()
ファイル名: 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
3. 次に、次のコマンドを実行します:
python echoWorker.py python echoClient.py