【发布时间】:2013-06-11 04:24:33
【问题描述】:
是否有一种简单的方法可以在所有 sidekiq(队列、重试、计划等)中搜索特定作业?
目前我正在这样做:
if !Sidekiq::Queue.new("feeds").find {|j| j.args[0] == feed.id && j.args[1] == true }
if !Sidekiq::RetrySet.new.find {|j| j.queue == 'feeds' && j.args[0] == feed.id && j.args[1] == true }
if !Sidekiq::ScheduledSet.new.find {|j| j.queue == 'feeds' && j.args[0] == feed.id && j.args[1] == true }
feed.sync
end
end
end
但考虑到队列的大小,作业可能会在迭代期间在集合之间移动并错过。
【问题讨论】:
标签: ruby-on-rails ruby sidekiq