Skip to content

Commit 62b1631

Browse files
authored
Merge pull request rails#48107 from Mangara/mangara-fix-logging-queue-adapter-name
Improve queue adapter name extraction for logs
2 parents 8bdf5e3 + e41d1ac commit 62b1631

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

activejob/lib/active_job/log_subscriber.rb

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ def enqueue_all(event)
6767
end
6868
else
6969
failed_enqueue_count = jobs.size - enqueued_count
70-
"Failed enqueuing #{failed_enqueue_count} #{'job'.pluralize(failed_enqueue_count)} to #{adapter_name(adapter)}"
70+
"Failed enqueuing #{failed_enqueue_count} #{'job'.pluralize(failed_enqueue_count)} "\
71+
"to #{ActiveJob.adapter_name(adapter)}"
7172
end
7273
end
7374
end
@@ -137,11 +138,7 @@ def discard(event)
137138

138139
private
139140
def queue_name(event)
140-
adapter_name(event.payload[:adapter]) + "(#{event.payload[:job].queue_name})"
141-
end
142-
143-
def adapter_name(adapter)
144-
adapter.class.name.demodulize.delete_suffix("Adapter")
141+
ActiveJob.adapter_name(event.payload[:adapter]) + "(#{event.payload[:job].queue_name})"
145142
end
146143

147144
def args_info(job)
@@ -205,7 +202,7 @@ def extract_enqueue_source_location(locations)
205202
def enqueued_jobs_message(adapter, enqueued_jobs)
206203
enqueued_count = enqueued_jobs.size
207204
job_classes_counts = enqueued_jobs.map(&:class).tally.sort_by { |_k, v| -v }
208-
"Enqueued #{enqueued_count} #{'job'.pluralize(enqueued_count)} to #{adapter_name(adapter)}"\
205+
"Enqueued #{enqueued_count} #{'job'.pluralize(enqueued_count)} to #{ActiveJob.adapter_name(adapter)}"\
209206
" (#{job_classes_counts.map { |klass, count| "#{count} #{klass}" }.join(', ')})"
210207
end
211208
end

activejob/lib/active_job/queue_adapter.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
require "active_support/core_ext/string/inflections"
44

55
module ActiveJob
6+
class << self
7+
def adapter_name(adapter) # :nodoc:
8+
return adapter.queue_adapter_name if adapter.respond_to?(:queue_adapter_name)
9+
10+
adapter_class = adapter.is_a?(Module) ? adapter : adapter.class
11+
"#{adapter_class.name.demodulize.delete_suffix('Adapter')}"
12+
end
13+
end
14+
615
# = Active Job Queue adapter
716
#
817
# The <tt>ActiveJob::QueueAdapter</tt> module is used to load the
@@ -43,7 +52,7 @@ def queue_adapter=(name_or_adapter)
4352
assign_adapter(name_or_adapter.to_s, queue_adapter)
4453
else
4554
if queue_adapter?(name_or_adapter)
46-
adapter_name = extract_adapter_name(name_or_adapter)
55+
adapter_name = ActiveJob.adapter_name(name_or_adapter).underscore
4756
assign_adapter(adapter_name, name_or_adapter)
4857
else
4958
raise ArgumentError
@@ -62,13 +71,6 @@ def assign_adapter(adapter_name, queue_adapter)
6271
def queue_adapter?(object)
6372
QUEUE_ADAPTER_METHODS.all? { |meth| object.respond_to?(meth) }
6473
end
65-
66-
def extract_adapter_name(adapter)
67-
return adapter.queue_adapter_name if adapter.respond_to?(:queue_adapter_name)
68-
69-
adapter_class = adapter.is_a?(Module) ? adapter : adapter.class
70-
"#{adapter_class.name.demodulize.remove('Adapter').underscore}"
71-
end
7274
end
7375
end
7476
end

0 commit comments

Comments
 (0)