class Epilog::Rails::ActiveJobSubscriber
Public Instance Methods
enqueue(event)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 6 def enqueue(event) info { event_hash('Enqueued job', event) } end
enqueue_at(event)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 10 def enqueue_at(event) enqueue(event) end
perform(event)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 21 def perform(event) info do event_hash('Performed job', event).merge( metrics: { job_runtime: event.duration } ) end pop_context end
perform_start(event)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 14 def perform_start(event) push_context(job: short_job_hash(event.payload[:job])) return unless config.double_job_logs info { event_hash('Performing job', event) } end
Private Instance Methods
adapter_name(adapter)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 63 def adapter_name(adapter) adapter = adapter.class unless adapter.is_a?(Class) adapter.name end
event_hash(message, event)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 34 def event_hash(message, event) { message: message, job: job_hash(event.payload[:job]), adapter: adapter_name(event.payload[:adapter]) } end
format_time(time)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 59 def format_time(time) Time.at(time).utc.strftime(Epilog::Formatter::DEFAULT_TIME_FORMAT) end
job_hash(job)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 42 def job_hash(job) { class: job.class.name, id: job.job_id, queue: job.queue_name, arguments: job.arguments, scheduled_at: job.scheduled_at ? format_time(job.scheduled_at) : nil } end
short_job_hash(job)
click to toggle source
# File lib/epilog/rails/active_job_subscriber.rb, line 52 def short_job_hash(job) { class: job.class.name, id: job.job_id } end