2013-04-26 73 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您将获得详细信息。希望这会帮助某人。