class Sidekiq::Hierarchy::Rack::Middleware

Constants

JOB_HEADER_KEY

transform from http header to rack names

WORKFLOW_HEADER_KEY

Public Class Methods

new(app) click to toggle source
# File lib/sidekiq/hierarchy/rack/middleware.rb, line 12
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/sidekiq/hierarchy/rack/middleware.rb, line 16
def call(env)
  if env[WORKFLOW_HEADER_KEY] && env[JOB_HEADER_KEY]
    Sidekiq::Hierarchy.current_job = Job.find(env[JOB_HEADER_KEY])
    Sidekiq::Hierarchy.current_workflow = Workflow.find_by_jid(env[WORKFLOW_HEADER_KEY])
  end
  @app.call(env)
ensure
  Sidekiq::Hierarchy.current_workflow = nil
  Sidekiq::Hierarchy.current_job = nil
end