Sha256: 03d932d2dd507a5a9efe580cbe5b1feb42ee63b903c7ddd4e36d1a7aadaed252
Contents?: true
Size: 1.3 KB
Versions: 42
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true module ActiveJob class << self private def instrument_enqueue_all(queue_adapter, jobs) payload = { adapter: queue_adapter, jobs: jobs } ActiveSupport::Notifications.instrument("enqueue_all.active_job", payload) do result = yield payload payload[:enqueued_count] = result result end end end module Instrumentation # :nodoc: extend ActiveSupport::Concern included do around_enqueue do |_, block| scheduled_at ? instrument(:enqueue_at, &block) : instrument(:enqueue, &block) end end def perform_now instrument(:perform) { super } end private def _perform_job instrument(:perform_start) super end def instrument(operation, payload = {}, &block) payload[:job] = self payload[:adapter] = queue_adapter ActiveSupport::Notifications.instrument("#{operation}.active_job", payload) do value = block.call if block payload[:aborted] = @_halted_callback_hook_called if defined?(@_halted_callback_hook_called) @_halted_callback_hook_called = nil value end end def halted_callback_hook(*) super @_halted_callback_hook_called = true end end end
Version data entries
42 entries across 42 versions & 5 rubygems