From 1b71fe59b8cd6c7347729703c064b64866b3502e Mon Sep 17 00:00:00 2001 From: John DeSilva Date: Tue, 20 May 2014 00:56:08 +0200 Subject: [PATCH 01/11] Add Sneakers wrapper --- Gemfile | 1 + Gemfile.lock | 14 +++++++++++ README.md | 3 --- Rakefile | 4 ++-- .../queue_adapters/sneakers_adapter.rb | 24 +++++++++++++++++++ test/adapters/sneakers.rb | 2 ++ test/support/sneakers/inline.rb | 12 ++++++++++ 7 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 lib/active_job/queue_adapters/sneakers_adapter.rb create mode 100644 test/adapters/sneakers.rb create mode 100644 test/support/sneakers/inline.rb diff --git a/Gemfile b/Gemfile index 550da15615..e40962dc92 100644 --- a/Gemfile +++ b/Gemfile @@ -8,3 +8,4 @@ gem 'sidekiq' gem 'sucker_punch' gem 'delayed_job' gem 'queue_classic' +gem 'sneakers', '0.1.1.pre' diff --git a/Gemfile.lock b/Gemfile.lock index c1df0ebc36..5f5745b53b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -20,7 +20,10 @@ GEM minitest (~> 5.1) thread_safe (~> 0.1) tzinfo (~> 1.1) + amq-protocol (1.9.2) builder (3.2.2) + bunny (1.1.9) + amq-protocol (>= 1.9.2) celluloid (0.15.2) timers (~> 1.1.0) connection_pool (2.0.0) @@ -47,18 +50,28 @@ GEM redis-namespace (~> 1.2) sinatra (>= 0.9.2) vegas (~> 0.1.2) + serverengine (1.5.7) + sigdump (~> 0.2.2) sidekiq (3.0.2) celluloid (>= 0.15.2) connection_pool (>= 2.0.0) json redis (>= 3.0.6) redis-namespace (>= 1.3.1) + sigdump (0.2.2) sinatra (1.4.4) rack (~> 1.4) rack-protection (~> 1.4) tilt (~> 1.3, >= 1.3.4) + sneakers (0.1.1.pre) + bunny (~> 1.1.3) + serverengine + thor + thread sucker_punch (1.0.5) celluloid (~> 0.15.2) + thor (0.19.1) + thread (0.1.4) thread_safe (0.3.3) tilt (1.4.1) timers (1.1.0) @@ -77,4 +90,5 @@ DEPENDENCIES rake resque sidekiq + sneakers (= 0.1.1.pre) sucker_punch diff --git a/README.md b/README.md index a0e5f01e29..588f0a2a2e 100644 --- a/README.md +++ b/README.md @@ -84,9 +84,6 @@ We currently have adapters for: * Sucker Punch * Delayed Job * QueueClassic - -We would like to have adapters for: - * Sneakers diff --git a/Rakefile b/Rakefile index 2b8b81248d..e0d8e8e0d8 100644 --- a/Rakefile +++ b/Rakefile @@ -20,11 +20,11 @@ task :default => :test desc 'Run all adapter tests' task :test do - tasks = %w(test_inline test_resque test_sidekiq test_sucker_punch test_delayed_job test_queue_classic) + tasks = %w(test_inline test_resque test_sidekiq test_sucker_punch test_delayed_job test_queue_classic test_sneakers) run_without_aborting(*tasks) end -%w(inline resque sidekiq sucker_punch delayed_job queue_classic).each do |adapter| +%w(inline resque sidekiq sucker_punch delayed_job queue_classic sneakers).each do |adapter| Rake::TestTask.new("test_#{adapter}") do |t| t.libs << 'test' t.test_files = FileList['test/cases/**/*_test.rb'] diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb new file mode 100644 index 0000000000..be400dc477 --- /dev/null +++ b/lib/active_job/queue_adapters/sneakers_adapter.rb @@ -0,0 +1,24 @@ +require 'sneakers' + +module ActiveJob + module QueueAdapters + class SneakersAdapter + class << self + def queue(job, *args) + JobWrapper.enqueue([job, *args]) + end + end + + class JobWrapper + include Sneakers::Worker + + self.from_queue("queue", {}) + + def work(*args) + job_name = args.shift + job_name.new.perform *Parameters.deserialize(args) + end + end + end + end +end diff --git a/test/adapters/sneakers.rb b/test/adapters/sneakers.rb new file mode 100644 index 0000000000..204166a700 --- /dev/null +++ b/test/adapters/sneakers.rb @@ -0,0 +1,2 @@ +require 'support/sneakers/inline' +ActiveJob::Base.queue_adapter = :sneakers diff --git a/test/support/sneakers/inline.rb b/test/support/sneakers/inline.rb new file mode 100644 index 0000000000..16d9b830fa --- /dev/null +++ b/test/support/sneakers/inline.rb @@ -0,0 +1,12 @@ +require 'sneakers' + +module Sneakers + module Worker + module ClassMethods + def enqueue(msg) + worker = self.new(nil, nil, {}) + worker.work(*msg) + end + end + end +end From 6f059b0b054e824c4634c65e21b0241dec11200d Mon Sep 17 00:00:00 2001 From: Larry Lv Date: Tue, 20 May 2014 12:51:44 +0800 Subject: [PATCH 02/11] Update README for currently supported adapters. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 588f0a2a2e..ca6e2c1e4b 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Set the queue adapter for Active Job: ``` ruby ActiveJob::Base.queue_adapter = :inline # default queue adapter -# Adapters currently supported: :resque, :sidekiq, :sucker_punch, :delayed_job +# Adapters currently supported: :resque, :sidekiq, :sucker_punch, :delayed_job, :queue_classic, :sneakers ``` Declare a job like so: From fc062f6601f6dba5a449d2e7008840bba6cb02e6 Mon Sep 17 00:00:00 2001 From: zhouguangming Date: Tue, 20 May 2014 16:26:04 +0800 Subject: [PATCH 03/11] Make consistent code style --- lib/active_job/queue_adapters/sneakers_adapter.rb | 5 ++--- lib/active_job/queue_adapters/sucker_punch_adapter.rb | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb index be400dc477..c6dbfa75bf 100644 --- a/lib/active_job/queue_adapters/sneakers_adapter.rb +++ b/lib/active_job/queue_adapters/sneakers_adapter.rb @@ -14,9 +14,8 @@ module ActiveJob self.from_queue("queue", {}) - def work(*args) - job_name = args.shift - job_name.new.perform *Parameters.deserialize(args) + def work(job, *args) + job.new.perform *Parameters.deserialize(args) end end end diff --git a/lib/active_job/queue_adapters/sucker_punch_adapter.rb b/lib/active_job/queue_adapters/sucker_punch_adapter.rb index 182b5ce018..6ca6726456 100644 --- a/lib/active_job/queue_adapters/sucker_punch_adapter.rb +++ b/lib/active_job/queue_adapters/sucker_punch_adapter.rb @@ -12,8 +12,8 @@ module ActiveJob class JobWrapper include SuckerPunch::Job - def perform(job_name, *args) - job_name.new.perform *Parameters.deserialize(args) + def perform(job, *args) + job.new.perform *Parameters.deserialize(args) end end end From 9b5562a4bfcab0e5634c46ba5b5831246d866e0c Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Tue, 20 May 2014 11:37:04 +0200 Subject: [PATCH 04/11] Determine full class name dynamically in QC adapter. --- lib/active_job/queue_adapters/queue_classic_adapter.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/active_job/queue_adapters/queue_classic_adapter.rb b/lib/active_job/queue_adapters/queue_classic_adapter.rb index e3392a646e..b82edae977 100644 --- a/lib/active_job/queue_adapters/queue_classic_adapter.rb +++ b/lib/active_job/queue_adapters/queue_classic_adapter.rb @@ -5,8 +5,7 @@ module ActiveJob class QueueClassicAdapter class << self def queue(job, *args) - qc_queue = QC::Queue.new(job.queue_name) - qc_queue.enqueue("ActiveJob::QueueAdapters::QueueClassicAdapter::JobWrapper.perform", job, *args) + QC::Queue.new(job.queue_name).enqueue("#{JobWrapper.name}.perform", job, *args) end end From 6d009504a02fecb822820e18abd69dd569f72e82 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Mon, 19 May 2014 18:09:45 +0000 Subject: [PATCH 05/11] Add Que Adapter/Wrapper --- Gemfile | 1 + Gemfile.lock | 12 +++++---- README.md | 18 ++++++++------ Rakefile | 4 +-- lib/active_job/queue_adapters/que_adapter.rb | 19 ++++++++++++++ test/adapters/que.rb | 2 ++ test/cases/adapter_test.rb | 26 ++++++++++++++------ 7 files changed, 59 insertions(+), 23 deletions(-) create mode 100644 lib/active_job/queue_adapters/que_adapter.rb create mode 100644 test/adapters/que.rb diff --git a/Gemfile b/Gemfile index e40962dc92..a9803f9284 100644 --- a/Gemfile +++ b/Gemfile @@ -9,3 +9,4 @@ gem 'sucker_punch' gem 'delayed_job' gem 'queue_classic' gem 'sneakers', '0.1.1.pre' +gem 'que' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 5f5745b53b..ff4e994b44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -33,21 +33,22 @@ GEM json (1.8.1) minitest (5.3.4) mono_logger (1.1.0) - multi_json (1.9.3) + multi_json (1.10.1) pg (0.17.1) + que (0.7.3) queue_classic (2.2.3) pg (~> 0.17.0) rack (1.5.2) - rack-protection (1.5.2) + rack-protection (1.5.3) rack rake (10.3.2) redis (3.0.7) redis-namespace (1.4.1) redis (~> 3.0.4) - resque (1.24.1) + resque (1.25.2) mono_logger (~> 1.0) multi_json (~> 1.0) - redis-namespace (~> 1.2) + redis-namespace (~> 1.3) sinatra (>= 0.9.2) vegas (~> 0.1.2) serverengine (1.5.7) @@ -59,7 +60,7 @@ GEM redis (>= 3.0.6) redis-namespace (>= 1.3.1) sigdump (0.2.2) - sinatra (1.4.4) + sinatra (1.4.5) rack (~> 1.4) rack-protection (~> 1.4) tilt (~> 1.3, >= 1.3.4) @@ -86,6 +87,7 @@ PLATFORMS DEPENDENCIES activejob! delayed_job + que queue_classic rake resque diff --git a/README.md b/README.md index ca6e2c1e4b..e8e12e859c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ of the request-response cycle, so the user doesn't have to wait on it. The main point is to ensure that all Rails apps will have a job infrastructure in place, even if it's in the form of an "immediate runner". We can then have framework features and other gems build on top of that, without having to worry -about API differences between Delayed Job and Resque. Picking your queuing +about API differences between Delayed Job and Resque. Picking your queuing backend becomes more of an operational concern, then. And you'll be able to switch between them without having to rewrite your jobs. @@ -24,7 +24,8 @@ Set the queue adapter for Active Job: ``` ruby ActiveJob::Base.queue_adapter = :inline # default queue adapter -# Adapters currently supported: :resque, :sidekiq, :sucker_punch, :delayed_job, :queue_classic, :sneakers +# Adapters currently supported: :delayed_job, :que, :queue_classic, :resque, +# :sidekiq, :sneakers, :sucker_punch ``` Declare a job like so: @@ -79,12 +80,13 @@ by default has been mixed into Active Record classes. We currently have adapters for: -* Resque 1.x -* Sidekiq -* Sucker Punch -* Delayed Job -* QueueClassic -* Sneakers +* [Delayed Job](https://github.com/collectiveidea/delayed_job) +* [Que](https://github.com/chanks/que) +* [QueueClassic](https://github.com/ryandotsmith/queue_classic) +* [Resque 1.x](https://github.com/resque/resque) +* [Sidekiq](https://github.com/mperham/sidekiq) +* [Sneakers](https://github.com/jondot/sneakers) +* [Sucker Punch](https://github.com/brandonhilkert/sucker_punch) ## Under development as a gem, targeted for Rails inclusion diff --git a/Rakefile b/Rakefile index e0d8e8e0d8..933c049a68 100644 --- a/Rakefile +++ b/Rakefile @@ -20,11 +20,11 @@ task :default => :test desc 'Run all adapter tests' task :test do - tasks = %w(test_inline test_resque test_sidekiq test_sucker_punch test_delayed_job test_queue_classic test_sneakers) + tasks = %w(test_inline test_delayed_job test_que test_queue_classic test_resque test_sidekiq test_sneakers test_sucker_punch) run_without_aborting(*tasks) end -%w(inline resque sidekiq sucker_punch delayed_job queue_classic sneakers).each do |adapter| +%w(inline delayed_job que queue_classic resque sidekiq sneakers sucker_punch).each do |adapter| Rake::TestTask.new("test_#{adapter}") do |t| t.libs << 'test' t.test_files = FileList['test/cases/**/*_test.rb'] diff --git a/lib/active_job/queue_adapters/que_adapter.rb b/lib/active_job/queue_adapters/que_adapter.rb new file mode 100644 index 0000000000..6750882b91 --- /dev/null +++ b/lib/active_job/queue_adapters/que_adapter.rb @@ -0,0 +1,19 @@ +require 'que' + +module ActiveJob + module QueueAdapters + class QueAdapter + class << self + def queue(job, *args) + JobWrapper.enqueue job, *args, queue: job.queue_name + end + end + + class JobWrapper < Que::Job + def run(job, *args) + job.new.perform *Parameters.deserialize(args) + end + end + end + end +end diff --git a/test/adapters/que.rb b/test/adapters/que.rb new file mode 100644 index 0000000000..640061bf54 --- /dev/null +++ b/test/adapters/que.rb @@ -0,0 +1,2 @@ +ActiveJob::Base.queue_adapter = :que +Que.mode = :sync diff --git a/test/cases/adapter_test.rb b/test/cases/adapter_test.rb index 05efdc33e9..e922750ab4 100644 --- a/test/cases/adapter_test.rb +++ b/test/cases/adapter_test.rb @@ -10,26 +10,36 @@ class AdapterTest < ActiveSupport::TestCase assert_equal ActiveJob::QueueAdapters::InlineAdapter, ActiveJob::Base.queue_adapter end - test 'should load resque adapter' do + test 'should load Delayed Job adapter' do + ActiveJob::Base.queue_adapter = :delayed_job + assert_equal ActiveJob::QueueAdapters::DelayedJobAdapter, ActiveJob::Base.queue_adapter + end + + test 'should load Que adapter' do + ActiveJob::Base.queue_adapter = :que + assert_equal ActiveJob::QueueAdapters::QueAdapter, ActiveJob::Base.queue_adapter + end + + test 'should load Queue Classic adapter' do + ActiveJob::Base.queue_adapter = :queue_classic + assert_equal ActiveJob::QueueAdapters::QueueClassicAdapter, ActiveJob::Base.queue_adapter + end + + test 'should load Resque adapter' do ActiveJob::Base.queue_adapter = :resque assert_equal ActiveJob::QueueAdapters::ResqueAdapter, ActiveJob::Base.queue_adapter end - test 'should load sidekiq adapter' do + test 'should load Sidekiq adapter' do ActiveJob::Base.queue_adapter = :sidekiq assert_equal ActiveJob::QueueAdapters::SidekiqAdapter, ActiveJob::Base.queue_adapter end - test 'should load sucker punch adapter' do + test 'should load Sucker Punch adapter' do ActiveJob::Base.queue_adapter = :sucker_punch assert_equal ActiveJob::QueueAdapters::SuckerPunchAdapter, ActiveJob::Base.queue_adapter end - test 'should load delayed_job adapter' do - ActiveJob::Base.queue_adapter = :delayed_job - assert_equal ActiveJob::QueueAdapters::DelayedJobAdapter, ActiveJob::Base.queue_adapter - end - def teardown ActiveJob::Base.queue_adapter = @old_adapter end From fa478329507319571b578ea3dd883405d0b8d4fc Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 20 May 2014 12:05:26 +0200 Subject: [PATCH 06/11] No need for the local variable --- lib/active_job/queue_adapter.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/active_job/queue_adapter.rb b/lib/active_job/queue_adapter.rb index 2033f6fe56..0f510530a6 100644 --- a/lib/active_job/queue_adapter.rb +++ b/lib/active_job/queue_adapter.rb @@ -6,14 +6,13 @@ module ActiveJob mattr_reader(:queue_adapter) { ActiveJob::QueueAdapters::InlineAdapter } def queue_adapter=(name_or_adapter) - case name_or_adapter - when Symbol, String - adapter = load_adapter(name_or_adapter) - else - adapter = name_or_adapter - end - - @@queue_adapter = adapter + @@queue_adapter = \ + case name_or_adapter + when Symbol, String + load_adapter(name_or_adapter) + else + name_or_adapter + end end private From 9c8c6bf4390a60be15fa69dfdd682f82e8639bc7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 20 May 2014 12:06:59 +0200 Subject: [PATCH 07/11] Clarify that the other option for name_or_adapter is to be a class (the Adapter class) --- lib/active_job/queue_adapter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/active_job/queue_adapter.rb b/lib/active_job/queue_adapter.rb index 0f510530a6..8f2f8b86ea 100644 --- a/lib/active_job/queue_adapter.rb +++ b/lib/active_job/queue_adapter.rb @@ -10,7 +10,7 @@ module ActiveJob case name_or_adapter when Symbol, String load_adapter(name_or_adapter) - else + when Class name_or_adapter end end From 34f0e4240e7c7f18c1925dcd8d33e1282aec6e60 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 20 May 2014 12:19:14 +0200 Subject: [PATCH 08/11] Update README with queue_as example and the desire for a Resque 2.x adapter --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index e8e12e859c..1be57a1808 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,8 @@ Declare a job like so: ```ruby class MyJob < ActiveJob::Base + queue_as :my_jobs + def perform(record) record.do_work end @@ -88,6 +90,10 @@ We currently have adapters for: * [Sneakers](https://github.com/jondot/sneakers) * [Sucker Punch](https://github.com/brandonhilkert/sucker_punch) +We would like to have adapters for: + +* [Resque 2.x](https://github.com/resque/resque) (see [#7](https://github.com/rails/activejob/issues/7)) + ## Under development as a gem, targeted for Rails inclusion From 2d19c711d041dd955d3fcaf952d101df9241a65e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 20 May 2014 12:22:20 +0200 Subject: [PATCH 09/11] Add Sneakers test and inline setup/teardown --- test/cases/adapter_test.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/cases/adapter_test.rb b/test/cases/adapter_test.rb index e922750ab4..1a08fa2617 100644 --- a/test/cases/adapter_test.rb +++ b/test/cases/adapter_test.rb @@ -1,9 +1,8 @@ require 'helper' class AdapterTest < ActiveSupport::TestCase - def setup - @old_adapter = ActiveJob::Base.queue_adapter - end + setup { @old_adapter = ActiveJob::Base.queue_adapter } + teardown { ActiveJob::Base.queue_adapter = @old_adapter } test 'should load inline adapter' do ActiveJob::Base.queue_adapter = :inline @@ -40,7 +39,8 @@ class AdapterTest < ActiveSupport::TestCase assert_equal ActiveJob::QueueAdapters::SuckerPunchAdapter, ActiveJob::Base.queue_adapter end - def teardown - ActiveJob::Base.queue_adapter = @old_adapter + test 'should load Sneakers adapter' do + ActiveJob::Base.queue_adapter = :sneakers + assert_equal ActiveJob::QueueAdapters::SneakersAdapter, ActiveJob::Base.queue_adapter end end From 0227af92b1851d5eac4cb423dc0c9935dbc733a3 Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Tue, 20 May 2014 14:41:14 +0300 Subject: [PATCH 10/11] Added logging capabilities --- lib/active_job/base.rb | 5 ++++- lib/active_job/enqueuing.rb | 1 + lib/active_job/log_subscriber.rb | 19 +++++++++++++++++++ lib/active_job/logging.rb | 5 +++++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 lib/active_job/log_subscriber.rb create mode 100644 lib/active_job/logging.rb diff --git a/lib/active_job/base.rb b/lib/active_job/base.rb index 77b929d4af..ed402bd8d3 100644 --- a/lib/active_job/base.rb +++ b/lib/active_job/base.rb @@ -1,11 +1,14 @@ require 'active_job/queue_adapter' require 'active_job/queue_name' require 'active_job/enqueuing' +require 'active_job/logging' +require 'active_job/log_subscriber' module ActiveJob class Base extend QueueAdapter extend QueueName extend Enqueuing + extend Logging end -end \ No newline at end of file +end diff --git a/lib/active_job/enqueuing.rb b/lib/active_job/enqueuing.rb index 324385216e..46f703481a 100644 --- a/lib/active_job/enqueuing.rb +++ b/lib/active_job/enqueuing.rb @@ -11,6 +11,7 @@ module ActiveJob # The return value is adapter-specific and may change in a future # ActiveJob release. def enqueue(*args) + ActiveSupport::Notifications.instrument "enqueue.active_job", adapter: queue_adapter, job: self, params: args queue_adapter.queue self, *Parameters.serialize(args) end end diff --git a/lib/active_job/log_subscriber.rb b/lib/active_job/log_subscriber.rb new file mode 100644 index 0000000000..81859d8da1 --- /dev/null +++ b/lib/active_job/log_subscriber.rb @@ -0,0 +1,19 @@ +module ActiveJob + class LogSubscriber < ActiveSupport::LogSubscriber + + def enqueue(event) + payload = event.payload + params = payload[:params] + adapter = payload[:adapter] + job = payload[:job] + + info "ActiveJob enqueued to #{adapter.name.demodulize} job #{job.name}: #{params.inspect}" + end + + def logger + ActiveJob::Base.logger + end + end +end + +ActiveJob::LogSubscriber.attach_to :active_job diff --git a/lib/active_job/logging.rb b/lib/active_job/logging.rb new file mode 100644 index 0000000000..7bd77b7ca5 --- /dev/null +++ b/lib/active_job/logging.rb @@ -0,0 +1,5 @@ +module ActiveJob + module Logging + mattr_accessor(:logger) { ActiveSupport::Logger.new(STDOUT) } + end +end From a2650112d9971460b257dbe6d440e1641226a11e Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Tue, 20 May 2014 17:02:36 +0300 Subject: [PATCH 11/11] Moved log_subcriber dependency and cleanup --- lib/active_job/base.rb | 1 - lib/active_job/log_subscriber.rb | 1 - lib/active_job/logging.rb | 2 ++ 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/active_job/base.rb b/lib/active_job/base.rb index ed402bd8d3..3d16f38275 100644 --- a/lib/active_job/base.rb +++ b/lib/active_job/base.rb @@ -2,7 +2,6 @@ require 'active_job/queue_adapter' require 'active_job/queue_name' require 'active_job/enqueuing' require 'active_job/logging' -require 'active_job/log_subscriber' module ActiveJob class Base diff --git a/lib/active_job/log_subscriber.rb b/lib/active_job/log_subscriber.rb index 81859d8da1..31c61a6068 100644 --- a/lib/active_job/log_subscriber.rb +++ b/lib/active_job/log_subscriber.rb @@ -1,6 +1,5 @@ module ActiveJob class LogSubscriber < ActiveSupport::LogSubscriber - def enqueue(event) payload = event.payload params = payload[:params] diff --git a/lib/active_job/logging.rb b/lib/active_job/logging.rb index 7bd77b7ca5..0e994a8f54 100644 --- a/lib/active_job/logging.rb +++ b/lib/active_job/logging.rb @@ -1,3 +1,5 @@ +require 'active_job/log_subscriber' + module ActiveJob module Logging mattr_accessor(:logger) { ActiveSupport::Logger.new(STDOUT) }