Sha256: 5503ab38c352b0e47ed4c2a304c885b54cff6407fcd34546a1843a490a6ea497

Contents?: true

Size: 482 Bytes

Versions: 3

Compression:

Stored size: 482 Bytes

Contents

module Sidekiq
  module Lock
    class Middleware

      def call(worker, msg, queue)
        options = lock_options(worker)
        setup_lock(options, msg['args']) unless options.nil?

        yield
      end

      private

        def setup_lock(options, payload)
          Thread.current[Sidekiq::Lock::THREAD_KEY] = RedisLock.new(options, payload)
        end

        def lock_options(worker)
          worker.class.get_sidekiq_options['lock']
        end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sidekiq-lock-0.3.0 lib/sidekiq/lock/middleware.rb
sidekiq-lock-0.2.0 lib/sidekiq/lock/middleware.rb
sidekiq-lock-0.0.1 lib/sidekiq/lock/middleware.rb