Rails:sidekiq会重复这个工人吗?

时间:2014-01-02 15:48:58

标签: ruby-on-rails ruby sidekiq

假设我有这个sidekiq工人:

  def perform post_id
    post = Post.find post_id
    post.do_something
  end

如果找不到帖子并引发例外,会发生什么?

sidekiq会再试一次吗?

什么是更好的设计,以便sidekiq不使用sidekiq_options再试一次:retry =>假

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您不想引发异常,请改用find_by_id,如果记录不存在,则返回nil,而不是引发异常。但请务必检查nil

def perform post_id
  post = Post.find_by_id post_id
  post.do_something if post
end