简单的东西,我需要有一种方法可以重试作业而不会引起异常。 我知道我可以使用类似的东西
def perform
if stuff_happening
perform_in(2.min)
return
end
end
及其优点,但是存在一个问题:重试计数。潜在地,每次都填充事件,此作业将无限期地进行调度?有没有一种方法可以确保仅将其调度固定的次数然后停止?
答案 0 :(得分:0)
边注:我们在Ruby中使用2个空格来缩进。
您需要使状态(重试次数已经发生)通过:
def perform(attempts_left = 10)
if stuff_happening && attempts_left > 0
perform_in(2.min, attempts_left - 1)
return
end
end