2014-01-27 43 views
0

我試圖創建一個腳本(PHP中的優先但是Python應該也沒關係),其中有以下行爲的腳本:運行的等待信號,是輪詢的ressource

我們註冊一個電話當我們收到一個帶有參數的信號時,應該立即開始回傳功能。然後,我們創建一個無限循環(這個腳本永遠不要停止!)以輪詢一個會話的web服務(我們有一個15分鐘的註銷,我們不想斷開連接!)。

這裏是一個僞代碼的行爲:

function CALLBACK($arguments) 
{ 
    CURL(URL, {ARGUMENTS : $arguments}); 
} 
add_handler(SIGNAL, ARGUMENTS, CALLBACK); 

$last_poll = time(); 
while(true) 
{ 
    if (time() - $last_poll > 600) 
    { 
     CURL(URL_TO_POLL); 
     $last_poll = time(); 
    } 
    sleep(1); 
} 

我怎麼能這樣做?

回答

0

也許它可以幫助你。 Gearman提供了一個通用的應用程序框架,用於將工作推廣到更適合於工作的其他機器或流程。它允許您並行執行工作,負載平衡處理以及在語言之間調用函數。它可用於從高可用性網站到傳輸數據庫複製事件的各種應用程序。換句話說,它是分佈式處理交流的神經系統。約Gearman的一些長處:

更多官方網站http://gearman.org/

+0

我從來沒有嘗試Gearman的,但我認爲它不能執行無限循環等待接收信號與一些參數...我真的希望守護進程每10分鐘輪詢一次服務,並且正在等待處理信號以啓動一項功能。 – Kevin

+0

@凱文也可以看看[芹菜](http://docs.celeryproject.org/en/latest/index.html)。 –