Есть ли простой способ поиска по всем 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
Но учитывая, как большие очереди могут получить, есть шанс, что задание может перемещаться между наборами во время итерации и пропустить.