Sha256: cddfcd9e54e6119af3a35711f1a86bc9b55914dfece71c73812aeeea03e84b29
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
module Sidekiq::Status # Should be in the client middleware chain class ClientMiddleware include Storage # Parameterized initialization, use it when adding middleware to client chain # chain.add Sidekiq::Status::ClientMiddleware, :expiration => 60 * 5 # @param [Hash] opts middleware initialization options # @option opts [Fixnum] :expiration ttl for complete jobs def initialize(opts = {}) @expiration = opts[:expiration] end # Uses msg['jid'] id and puts :queued status in the job's Redis hash # @param [Class] worker_class if includes Sidekiq::Status::Worker, the job gets processed with the plugin # @param [Array] msg job arguments # @param [String] queue the queue's name # @param [ConnectionPool] redis_pool optional redis connection pool def call(worker_class, msg, queue, redis_pool=nil) initial_metadata = { jid: msg['jid'], status: :queued, worker: worker_class, args: msg['args'].to_a.empty? ? nil : msg['args'].to_json } store_for_id msg['jid'], initial_metadata, @expiration, redis_pool yield end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-status-0.6.0 | lib/sidekiq-status/client_middleware.rb |