aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-09-12 14:47:15 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-09-12 15:19:34 -0300
commit9bb4850e7bf864e0277140ab6d3d4ae67ef68170 (patch)
tree2a6ab0f9dcaa130acf74f5f6b94a159330812f8e /railties
parent079eed83d9822959a0a4efacc31e912165024a26 (diff)
downloadrails-9bb4850e7bf864e0277140ab6d3d4ae67ef68170.tar.gz
rails-9bb4850e7bf864e0277140ab6d3d4ae67ef68170.tar.bz2
rails-9bb4850e7bf864e0277140ab6d3d4ae67ef68170.zip
Use the SynchronousQueue as default in production and development.
We should not let the users use the ThreadedConsumer without know about the risks
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt4
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt4
-rw-r--r--railties/test/application/queue_test.rb11
3 files changed, 10 insertions, 9 deletions
diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
index 122e7e2b34..ba8f586613 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
@@ -42,6 +42,6 @@
config.assets.debug = true
<%- end -%>
- # In development, use an in-memory queue for queueing.
- config.queue = Rails::Queueing::Queue
+ # In development, use an synchronous queue for queueing.
+ config.queue = Rails::Queueing::SynchronousQueue
end
diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
index a627636089..cceb88de39 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
@@ -80,7 +80,7 @@
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
- # Default the production mode queue to an in-memory queue. You will probably
+ # Default the production mode queue to an synchronous queue. You will probably
# want to replace this with an out-of-process queueing solution.
- config.queue = Rails::Queueing::Queue
+ config.queue = Rails::Queueing::SynchronousQueue
end
diff --git a/railties/test/application/queue_test.rb b/railties/test/application/queue_test.rb
index c856089540..f4c11c5f4f 100644
--- a/railties/test/application/queue_test.rb
+++ b/railties/test/application/queue_test.rb
@@ -23,10 +23,10 @@ module ApplicationTests
assert_kind_of Rails::Queueing::TestQueue, Rails.queue[:default]
end
- test "the queue is a Queue in development mode" do
+ test "the queue is a SynchronousQueue in development mode" do
app("development")
- assert_kind_of Rails::Queueing::Queue, Rails.application.queue[:default]
- assert_kind_of Rails::Queueing::Queue, Rails.queue[:default]
+ assert_kind_of Rails::Queueing::SynchronousQueue, Rails.application.queue[:default]
+ assert_kind_of Rails::Queueing::SynchronousQueue, Rails.queue[:default]
end
class ThreadTrackingJob
@@ -47,7 +47,7 @@ module ApplicationTests
end
end
- test "in development mode, an enqueued job will be processed in a separate thread" do
+ test "in development mode, an enqueued job will be processed in the same thread" do
app("development")
job = ThreadTrackingJob.new
@@ -55,7 +55,7 @@ module ApplicationTests
sleep 0.1
assert job.ran?, "Expected job to be run"
- assert job.ran_in_different_thread?, "Expected job to run in a different thread"
+ refute job.ran_in_different_thread?, "Expected job to run in the same thread"
end
test "in test mode, explicitly draining the queue will process it in a separate thread" do
@@ -160,6 +160,7 @@ module ApplicationTests
test "a custom consumer implementation can be provided" do
add_to_env_config "production", <<-RUBY
require "my_queue_consumer"
+ config.queue = Rails::Queueing::Queue
config.queue_consumer = MyQueueConsumer
RUBY