2013-04-26 77 views
2

我知道它會返回一個散列,但它奇怪的語​​法如何去..我試圖找出最後一個是什麼。如何檢查Resque中最後一次失敗的作業?

如果我這樣做:

Resque.info[:failed] # -> 68 

因此,假設有68失敗的作業,當我這樣做:

Resque::Failure.all() 

它只返回一個工作(我相信它的第一份工作)。

我認爲這只是我的一個語法錯誤。因爲我也看到了這一點:

Resque::Failure.all(0, 20) 

我相信這會拉0和20

所以..任何人都知道的語法條款之間的索引數組拉剛剛過去失敗的作業?

回答

4

如所說的here所有你會給第一參數作爲起點和第二參數作爲結果的數量。

Resque::Failure.all(0, 1) 

是正確的語法,以獲得最後的失敗,如果他們被命令DESC

編輯:

他們是有序的ASC,所以:

Resque::Failure.all((Resque::Failure.count - 1), 1) 
+0

嗯..我的似乎不是由DESC命令,以便返回最老的失敗..然後使用文檔邏輯,如果我有「70」失敗,並且我做了'Resque :: Failure.all 70,1),它仍然沒有返回。 – Trip 2013-04-26 14:48:31

+0

嘗試'Resque :: Failure.all(69,1)',因爲它從0開始 – 2013-04-26 14:51:17

+0

奇怪的是,'Resque :: Failure.all(20,1)'是* last *之一。 ?:D – Trip 2013-04-26 14:52:23

0

也有另一種方式看到resque工作信息。 Resque附帶了一個基於Sinatra的前端,用於查看隊列中的情況。 enter image description here

Here您將獲得詳細信息。希望這會幫助某人。