从 perform 中重新安排 sidekiq 作业
reschedule a sidekiq job from within perform
有没有办法在 Sidekiq worker 中检查 perform
内部的条件,并在不同的时间重新安排作业(并停止执行作业)?
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
# reschedule to perform in a few hours
end
end
这是一个简单的例子,但在我的用例中有很多针对该条件的计算和网络调用,所以我无法在外部完成
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
self.class.perform_in(1.hour)
end
end
小心!记住 return 在 self.class.perform_in()
之后
我在生产环境中遇到了严重的问题。
有没有办法在 Sidekiq worker 中检查 perform
内部的条件,并在不同的时间重新安排作业(并停止执行作业)?
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
# reschedule to perform in a few hours
end
end
这是一个简单的例子,但在我的用例中有很多针对该条件的计算和网络调用,所以我无法在外部完成
def perform
if is_it_summer_yet?
Bear.wake_em_up
else
self.class.perform_in(1.hour)
end
end
小心!记住 return 在 self.class.perform_in()
之后我在生产环境中遇到了严重的问题。