class Determinator::Tracking::Sidekiq::Middleware

Public Instance Methods

call(worker, job, queue) { || ... } click to toggle source

@param [Object] worker the worker instance @param [Hash] job the full job payload

* @see https://github.com/mperham/sidekiq/wiki/Job-Format

@param [String] queue the name of the queue the job was pulled from @yield the next middleware in the chain or worker `perform` method @return [Void]

# File lib/determinator/tracking/sidekiq/middleware.rb, line 13
def call(worker, job, queue)
  begin
    Determinator::Tracking.start!(:sidekiq)
    yield
  rescue => ex
    error = true
    raise
  ensure
    Determinator::Tracking.finish!(
      endpoint: Determinator::Tracking.collect_endpoint_info(worker.class.name),
      queue: queue,
      error: !!error
    )
  end
end