Sha256: 7dc4b0f8195ac5490f78c3202517e15095e3128e11535ac54d206a27f2282a07

Contents?: true

Size: 505 Bytes

Versions: 13

Compression:

Stored size: 505 Bytes

Contents

# frozen_string_literal: true

module Sidekiq
  module Job
    class InterruptHandler
      include Sidekiq::ServerMiddleware

      def call(instance, hash, queue)
        yield
      rescue Interrupted
        logger.debug "Interrupted, re-queueing..."
        c = Sidekiq::Client.new
        c.push(hash)
        raise Sidekiq::JobRetry::Skip
      end
    end
  end
end

Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Sidekiq::Job::InterruptHandler
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
sidekiq-8.0.1 lib/sidekiq/job/interrupt_handler.rb
sidekiq-8.0.0 lib/sidekiq/job/interrupt_handler.rb
sidekiq-8.0.0.beta2 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.9 lib/sidekiq/job/interrupt_handler.rb
sidekiq-8.0.0.beta1 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.8 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.7 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.6 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.5 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.4 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.3 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.2 lib/sidekiq/job/interrupt_handler.rb
sidekiq-7.3.1 lib/sidekiq/job/interrupt_handler.rb