From 0a4ffb436a1b878b49bec4b6077fd87e3339d4e2 Mon Sep 17 00:00:00 2001 From: Brandon Keepers Date: Fri, 26 Mar 2010 09:25:47 -0400 Subject: [PATCH] Move backend setup into config.after_initialize --- init.rb | 1 - lib/delayed_job.rb | 9 --------- rails/init.rb | 12 ++++++++++++ spec/spec_helper.rb | 2 ++ 4 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 init.rb create mode 100644 rails/init.rb diff --git a/init.rb b/init.rb deleted file mode 100644 index a816d7ee8..000000000 --- a/init.rb +++ /dev/null @@ -1 +0,0 @@ -require File.dirname(__FILE__) + '/lib/delayed_job' diff --git a/lib/delayed_job.rb b/lib/delayed_job.rb index 75cdb845c..dcd4e1a94 100644 --- a/lib/delayed_job.rb +++ b/lib/delayed_job.rb @@ -8,15 +8,6 @@ Object.send(:include, Delayed::MessageSending) Module.send(:include, Delayed::MessageSending::ClassMethods) -if defined?(ActiveRecord) - Delayed::Worker.backend = :active_record -elsif defined?(MongoMapper) - Delayed::Worker.backend = :mongo_mapper -else - $stderr.puts "Could not decide on a backend, defaulting to active_record" - Delayed::Worker.backend = :active_record -end - if defined?(Merb::Plugins) Merb::Plugins.add_rakefiles File.dirname(__FILE__) / 'delayed' / 'tasks' end diff --git a/rails/init.rb b/rails/init.rb new file mode 100644 index 000000000..7c4cc30e8 --- /dev/null +++ b/rails/init.rb @@ -0,0 +1,12 @@ +require 'delayed_job' + +config.after_initialize do + Delayed::Worker.backend ||= if defined?(ActiveRecord) + :active_record + elsif defined?(MongoMapper) + :mongo_mapper + else + Delayed::Worker.logger.warn "Could not decide on a backend, defaulting to active_record" + :active_record + end +end \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b4b876170..d0a2600aa 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -27,6 +27,8 @@ DEFAULT_BACKEND = backends_available.first.to_sym +Delayed::Worker.backend = DEFAULT_BACKEND + backends_available.each do |backend| require "setup/#{backend}" require "backend/#{backend}_job_spec"