module Sidekiq::Throttled::Fetch::BulkRequeue
Public Instance Methods
bulk_requeue(units, _options)
click to toggle source
Requeues all given units as a single operation.
@see www.rubydoc.info/github/redis/redis-rb/master/Redis#pipelined-instance_method @param [Array<Fetch::UnitOfWork>] units @return [void]
# File lib/sidekiq/throttled/fetch.rb, line 21 def bulk_requeue(units, _options) return if units.empty? Sidekiq.logger.debug { "Re-queueing terminated jobs" } Sidekiq.redis { |conn| conn.pipelined { units.each(&:requeue) } } Sidekiq.logger.info("Pushed #{units.size} jobs back to Redis") rescue => e Sidekiq.logger.warn("Failed to requeue #{units.size} jobs: #{e}") end