far*_*ski 10 ruby ruby-on-rails sidekiq
是否有一种简单的方法可以搜索特定作业的所有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
Run Code Online (Sandbox Code Playgroud)
但考虑到队列可以获得多大的数量,在迭代期间作业可能会在集合之间移动并被遗漏.
好像你想要在产生它之后的某个时刻知道你的工作状态,你也保持它的身份.有一些插件正是为了它们,它们具有类似的功能和几乎相同的名称:
Sidekiq ::状态 - 我是这个的作者,有点简约
SidekiqStatus - 提供更多功能