Ruby on rails Rails:sidekiq会重复这个工作吗?
假设我有一个sidekiq工人:Ruby on rails Rails:sidekiq会重复这个工作吗?,ruby-on-rails,ruby,sidekiq,Ruby On Rails,Ruby,Sidekiq,假设我有一个sidekiq工人: def perform post_id post = Post.find post_id post.do_something end 如果找不到帖子并引发异常,会发生什么 sidekiq会再试一次吗 如果没有使用sidekiq_选项,那么有什么更好的设计可以让sidekiq不再尝试:retry=>false 谢谢 如果不希望引发异常,请改用find_by_id,如果记录不存在,则返回nil,而不是引发异常。请务必检查nil,不过: de
def perform post_id
post = Post.find post_id
post.do_something
end
如果找不到帖子并引发异常,会发生什么
sidekiq会再试一次吗
如果没有使用sidekiq_选项,那么有什么更好的设计可以让sidekiq不再尝试:retry=>false
谢谢 如果不希望引发异常,请改用
find_by_id
,如果记录不存在,则返回nil
,而不是引发异常。请务必检查nil
,不过:
def perform post_id
post = Post.find_by_id post_id
post.do_something if post
end
我通常
rescue nil
很多发现都是为了安全。在Rails 4中,代码是post=post.find\u by(id:post\u id)