class ActiveJob::Logging::LogSubscriber

Public Instance Methods

enqueue(event) click to toggle source
# File lib/active_job/logging.rb, line 72
def enqueue(event)
  info do
    job = event.payload[:job]
    "Enqueued #{job.class.name} (Job ID: #{job.job_id}) to #{queue_name(event)}" + args_info(job)
  end
end
enqueue_at(event) click to toggle source
# File lib/active_job/logging.rb, line 79
def enqueue_at(event)
  info do
    job = event.payload[:job]
    "Enqueued #{job.class.name} (Job ID: #{job.job_id}) to #{queue_name(event)} at #{scheduled_at(event)}" + args_info(job)
  end
end
perform(event) click to toggle source
# File lib/active_job/logging.rb, line 93
def perform(event)
  info do
    job = event.payload[:job]
    "Performed #{job.class.name} from #{queue_name(event)} in #{event.duration.round(2).to_s}ms"
  end
end
perform_start(event) click to toggle source
# File lib/active_job/logging.rb, line 86
def perform_start(event)
  info do
    job = event.payload[:job]
    "Performing #{job.class.name} from #{queue_name(event)}" + args_info(job)
  end
end

Private Instance Methods

args_info(job) click to toggle source
# File lib/active_job/logging.rb, line 105
def args_info(job)
  job.arguments.any? ? " with arguments: #{job.arguments.map(&:inspect).join(", ")}" : ""
end
logger() click to toggle source
# File lib/active_job/logging.rb, line 113
def logger
  ActiveJob::Base.logger
end
queue_name(event) click to toggle source
# File lib/active_job/logging.rb, line 101
def queue_name(event)
  event.payload[:adapter].name.demodulize.gsub('Adapter', '') + "(#{event.payload[:job].queue_name})"
end
scheduled_at(event) click to toggle source
# File lib/active_job/logging.rb, line 109
def scheduled_at(event)
  Time.at(event.payload[:job].scheduled_at).utc
end