2017-02-25 63 views
1

我還沒有實際使用Resque。我有以下問題和假設,我想驗證:Resque和多服務器架構

1)據我所知,您可以通過配置每個resque實例指向一箇中央服務器的Redis有一個多服務器架構。正確?

2),這是否意味着任何resque例如可以將項目添加到隊列中,任何工人可以在任何這些隊列中的工作嗎?

3)可以將多個工人到同一項目響應隊列中?即一個服務器將「第2項已更新」放入隊列中,那麼不同服務器上的工作人員1,2和3是否都會對此採取行動?或者我需要創建單獨的隊列?我有點想要一個pub/sub類型的任務。

4)是否西納特拉監控應用生活Resque的每一個實例?或者只有一個知道所有隊列和工作人員的應用程序?

5)是否Resque知道什麼時候完成任務?即顯示器應用程序顯示任務正在進行中嗎?或者只是一名工人拿走了它?

6)顯示器是否應用展示完成的任務?即如果一項任務能夠很快完成,我將能夠看到在最近的某個時間點,任務完成了嗎?

7)我可以編程方式查詢任務是否已經開始,正在進行或已完成?

回答

0

正如我在我們的項目中使用resque廣泛,這裏是您查詢幾個答案:

我明白,你可以通過配置每個resque實例來指向一個有一個多服務器架構中央redis服務器。正確?

回答:是的,您有多臺服務器指向單個resque服務器。我在類似的體系結構上運行。

這是否意味着任何resque實例都可以將項添加到隊列中,並且任何worker都可以在任何這些隊列上工作?

答:這取決於你如何配置你的服務器,你必須創建隊列,並將其分配給工人他們。 您可以有多個隊列,每個隊列可以有多個工作人員。

多個工作人員可以響應隊列中的同一項目嗎?即一個服務器將「第2項已更新」放入隊列中,那麼不同服務器上的工作人員1,2和3是否都會對此採取行動?或者我需要創建單獨的隊列?我有點想要一個pub/sub類型的任務。

回答:這也是根據您的要求,如果您想擁有一個隊列以及所有工作人員,這也是有效的。
或者如果你想爲每個服務器單獨的隊列,你也可以這樣做。
任何服務器可以把工作在任何隊列,但只有指定的人員將皮卡和工作對工作

是否西納特拉監控應用生活Resque的每一個實例?或者只有一個知道所有隊列和工作人員的應用程序?

答:末日監控應用程序,讓你的界面,你可以看到所有工人/隊列相關的信息,如正在運行的作業,等待作業,隊列和失敗的作業等

不Resque知道什麼時候任務完成?即顯示器應用程序顯示任務正在進行中嗎?或者只是一名工人拿走了它?答案:它的確如此,基本上還是保持內部隊列來管理所有工作。

答:是的,它顯示了關於工作的每個統計數據。

顯示器應用程序顯示完成的任務嗎?即如果一項任務能夠很快完成,我將能夠看到在最近的某個時間點,任務完成了嗎?

答:是的,你可以做
例如知道哪些工人正在使用Resque.working,同樣你可以檢查自己的代碼庫,並利用任何東西。


Resque是我們現在正在使用超過一年的一個非常強大的庫。
乾杯快樂編碼!