Sha256: 235aa765d9fae5d8aca0ce14771a385ae8d6663e3dfddf4aea4c33fd5954af24

Contents?: true

Size: 605 Bytes

Versions: 3

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true

# internal
require_relative "../registry"

module Sidekiq
  module Throttled
    module Middlewares
      # Server middleware required for Sidekiq::Throttled functioning.
      class Server
        include Sidekiq::ServerMiddleware

        def call(_worker, msg, _queue)
          yield
        ensure
          job = msg.fetch("wrapped") { msg["class"] }
          jid = msg["jid"]

          if job && jid
            Registry.get job do |strategy|
              strategy.finalize!(jid, *msg["args"])
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sidekiq-throttled-1.3.0 lib/sidekiq/throttled/middlewares/server.rb
sidekiq-throttled-1.2.0 lib/sidekiq/throttled/middlewares/server.rb
sidekiq-throttled-1.1.0 lib/sidekiq/throttled/middlewares/server.rb