Class: Axn::Async::Adapters::Sidekiq::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/axn/async/adapters/sidekiq/middleware.rb

Overview

Sidekiq server middleware that sets up retry context for Axn actions. This middleware extracts retry information from the job hash and makes it available via Axn::Async::CurrentRetryContext during job execution.

To enable, add to your Sidekiq server configuration:

Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Axn::Async::Adapters::Sidekiq::Middleware
  end
end

Instance Method Summary collapse

Instance Method Details

#call(worker, job, _queue) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/axn/async/adapters/sidekiq/middleware.rb', line 22

def call(worker, job, _queue, &)
  # Only set up context for Axn workers
  return yield unless worker.class.included_modules.include?(Axn::Core)

  context = RetryHelpers.build_retry_context(job)
  CurrentRetryContext.with(context, &)
end