class Sidekiq::BasicFetch
def bulk_requeue(inprogress)
def bulk_requeue(inprogress) return if inprogress.empty? logger.debug { "Re-queueing terminated jobs" } jobs_to_requeue = {} inprogress.each do |unit_of_work| jobs_to_requeue[unit_of_work.queue] ||= [] jobs_to_requeue[unit_of_work.queue] << unit_of_work.job end redis do |conn| conn.pipelined do |pipeline| jobs_to_requeue.each do |queue, jobs| pipeline.rpush(queue, jobs) end end end logger.info("Pushed #{inprogress.size} jobs back to Redis") rescue => ex logger.warn("Failed to requeue #{inprogress.size} jobs: #{ex.message}") end