通过redis cli检查并重试resque作业



由于一些问题,我无法在服务器上运行resque web,但我仍然需要检查并重试resque队列中失败的作业。

有人知道如何查看失败的作业队列以查看错误是什么,然后使用redis-cli命令行重试吗?

谢谢,

在以下链接上找到了一个解决方案:

http://ariejan.net/2010/08/23/resque-how-to-requeue-failed-jobs

在rails控制台中,我们可以使用这些命令来检查和重试失败的作业:

1-获取失败作业的数量:

 Resque::Failure.count

2-检查错误异常类和回溯

Resque::Failure.all(0,20).each { |job|
   puts "#{job["exception"]}  #{job["backtrace"]}"
}

作业对象是包含有关失败作业的信息的哈希。您可以查看它以查看更多信息。还要注意,这只列出了前20个失败的作业。不知道如何将它们全部列出,因此必须更改值(0,20)才能获得整个列表。

3-重试所有失败的作业:

(Resque::Failure.count-1).downto(0).each { |i| Resque::Failure.requeue(i) }

4-重置失败作业计数:

 Resque::Failure.clear

重试所有作业不会重置计数器。我们必须把它清零。

最新更新