有没有办法检查Sidekiq工作中perform
内的条件,并在不同的时间重新安排作业(并停止执行作业)?
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
# reschedule to perform in a few hours
end
end
这是一个简单的例子,但在我的用例中有很多计算和网络调用,所以我无法在外部进行
答案 0 :(得分:10)
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
self.class.perform_in(1.hour)
end
end
答案 1 :(得分:0)
CAUSION!记得在 self.class.perform_in()
之后返回我在制作环境中遇到了严重的问题。