gearman 從安裝到python API測試

2021-07-13 13:41:05 字數 3759 閱讀 2620

一、安裝

作業系統:redhat 5.7

1. 安裝gearman 

首先,我們需要安裝gearmand,在centos和rhel環境下,我們只需執行以下命令:

$ yum install gearmand -y

注意:如果不希望通過yum的方式來安裝gearmand,可以通過原始碼編譯安裝,

具體安裝方法可以參考:

安裝完畢之後,就可以啟動gearmand服務:

$ gearmand -p 4730 -l 10.22.10.90 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -d

附gearmand(job server的啟動引數簡單說明)

-b, –backlog=backlog 連線請求佇列的最大值

-d, –daemon daemon 守護程序化

-f, –file-descriptors=fds 可開啟的檔案描述符數量

-h, –help

-l, –log-file=file log 日誌檔案

-l, –listen=address 開啟監聽的位址

-p, –port=port 開啟監聽的埠

-p, –pid-file=file file pid file

-r,–protocol=protocol 使用的協議

-q, –queue-type=queue 持久化佇列型別

-t, –threads=threads i/o執行緒數量

-u, –user=user 程序的有效使用者名稱

2. 安裝python-gearman

我們可以用以下命令安裝(兩個命令均可,二選一):

$ easy_install gearman

或$ pip install gearman

或者也可以通過原始碼安裝:

$ wget --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

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

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

​job started

***************====

test gearman

-----------

​$ python echoclient.py

test gearman​​

至此,即可看到輸出。

3.總結

gearman工作在tcp上,預設埠為4730,

client與job server、worker與job server的通訊都基於此tcp的socket連線。

client是工作任務的發起者,worker是可以註冊處理函式的工作任務執行者,job server為工作的排程者。

協議包含請求報文與響應報文兩個部分,所有發向job server的資料報(tcp報文段的資料部分)認為是請求報文,

所有從job server發出的資料報(tcp報文段的資料部分)認為是響應報文。

worker或者client與job server間的通訊是基於二進位制資料流的,但在管理client也有基於行文字協議的通訊。

從安裝到使用

從安裝到使用。debian ubuntu apt get install python pip pip installcentos yum install python setuptools easy install pip pip installwindows 參見 在 windows 上安裝服務...

SQLite從安裝到使用

樓主用的是這個 直接放到你指定的位置 我放的地方是e android開發 sqlite 解壓就ok了。完了就這樣,雙擊可以使用。當然也可以設定一下環境變數,在cmd中啟動。第二步 使用 雙擊開啟,介面如下,接著就可以運算元據庫了 當然,我們要的效果不是這樣,而是在eclipse中用 建立乙個test...

SASS從安裝到使用

新建目錄如圖 sass cache檔案不用管,只需要新建css資料夾,檔案內的內容不用新建。新建sass資料夾,sass資料夾下有main資料夾包含乙個main.sass檔案同理module和page.這樣寫的目的是為了整體結構的完善這樣寫好頂層的架構方便日後維護 接下來 最重要的core.sass...