我正在使用delayed_job 作为优先级队列。我想知道我如何定义失败的工作是什么?
谢谢。
失败的作业是引发错误的作业。如果您希望作业失败,您可以简单地引发错误。有时,如果我正在等待其他事情完成,而不是让工作失败,我会run_at
在未来将另一个工作放入队列中,时间为 x 时间。
默认情况下会删除失败的作业,就像成功的作业一样。但是,您可以配置delay_job以保留它们,在这种情况下, failed_at 列将填充最后一次失败的时间。然后您只需检查 failed_at 是否为 nil。使用默认行为,我还没有找到一种方法来区分成功的工作和失败的工作。