module ActiveJob::Instrumentation

def instrument(operation, payload = {}, &block)

def instrument(operation, payload = {}, &block)
  enhanced_block = ->(event_payload) do
    value = block.call if block
    if defined?(@_halted_callback_hook_called) && @_halted_callback_hook_called
      event_payload[:aborted] = true
      @_halted_callback_hook_called = nil
    end
    value
  end
  ActiveSupport::Notifications.instrument \
    "#{operation}.active_job", payload.merge(adapter: queue_adapter, job: self), &enhanced_block
end