2009-12-19 67 views
3

我是Gearman的新手。我有關於優化Gearman使用的以下問題:Gearman架構查詢

1)我認爲工人期望工作是一個「字符串」。我可以將數組或散列作爲作業發送給工作人員嗎?如果不是,JSON是發送Array /哈希的最佳作業格式嗎?

2)作爲工作服務器的工作人員,我可以附加rails應用程序路徑嗎?

3)您如何檢查工人是否在運行?是否有任何管理工具可用於作業服務器和工作人員統計信息?

4)我可以構建一個ROR系統,使每個請求都通過Gearman作業服務器?我有多個應用程序使用相同的數據庫(其中一些是iPhone應用程序,Android應用程序,網站)。我的主要目標是使用所有這些應用程序的通用API訪問內容。還是Gearman更適合後臺進程?

謝謝。

回答

1

我不能說我知道關於齒輪工的任何事情,但我想我可以回答第一個問題。

當您想要將對象傳遞給其他方法時,您需要以某種方式序列化它(這幾乎總是在將對象傳遞到另一個進程時完成的)。實現這一點的「最佳」方式很大程度上取決於您想要發送的內容。 JSON是一種方式,在傳輸大小方面可能是最小的一種。所以,是的,您可以使用JSON傳輸哈希和數組。

2

我可以發送一個數組或哈希作爲招聘到工人?如果不是,JSON是發送Array /哈希的最佳作業格式嗎?

任何類型的字符串都可以;然而,JSON非常棒,因爲它可以很容易地解碼並用於保存模型/實體。

我可以附加Rails應用程序路由作爲工人的作業服務器?

我通常更喜歡將獨立應用程序/腳本編寫爲工作者。 Ruby會很棒。你甚至可以把它們寫成Thor腳本。

是否有任何管理工具可用於作業服務器和工作者統計信息?

如果你是舒適的外殼,這可能會爲你工作: Any way to access Gearman administration?

或者Gearman的更適合後臺進程?

是的,你會如果你使用的Gearman單機工作進程,而不是試圖在其上運行的整個應用程序有更好的控制。