aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-01-14 13:57:16 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-01-14 13:57:16 +0900
commit87eef66181c9defc2d44ddd536e23b691f754b91 (patch)
tree228f1d1ada3f60632617b8914556d9c277ecf0e6
parentf9ece97b169e1cbb94db29fc7ced3b94f1c43190 (diff)
downloadplum-87eef66181c9defc2d44ddd536e23b691f754b91.tar.gz
rack: remove threaded option. use threadpool_size=1 instead
-rw-r--r--examples/rack-example-config.rb2
-rw-r--r--lib/plum/rack/cli.rb7
-rw-r--r--lib/plum/rack/config.rb3
-rw-r--r--lib/plum/rack/dsl.rb4
-rw-r--r--lib/plum/rack/server.rb2
-rw-r--r--lib/plum/rack/thread_pool.rb2
6 files changed, 5 insertions, 15 deletions
diff --git a/examples/rack-example-config.rb b/examples/rack-example-config.rb
index 8f5e1f1..083efa5 100644
--- a/examples/rack-example-config.rb
+++ b/examples/rack-example-config.rb
@@ -1,7 +1,7 @@
log "logs/plum.log"
debug false
server_push true
-threaded false # create a new thread per request
+threadpool_size 20 # use 20 threads to process requests (default: 1( = disable))
fallback_legacy "127.0.0.1:8080" # forward if client doesn't support HTTP/2
user "nobody"
diff --git a/lib/plum/rack/cli.rb b/lib/plum/rack/cli.rb
index 9d8a03d..31e8b3f 100644
--- a/lib/plum/rack/cli.rb
+++ b/lib/plum/rack/cli.rb
@@ -44,7 +44,6 @@ module Plum
ENV["RACK_ENV"] = @options[:env] if @options[:env]
config[:debug] = @options[:debug] unless @options[:debug].nil?
config[:server_push] = @options[:server_push] unless @options[:server_push].nil?
- config[:threaded] = @options[:threaded] unless @options[:threaded].nil?
config[:threadpool_size] = @options[:threadpool_size] unless @options[:threadpool_size].nil?
if @options[:fallback_legacy]
@@ -121,11 +120,7 @@ module Plum
@options[:key] = arg
end
- o.on "--threaded", "Call the Rack application in threads (experimental)" do
- @options[:threaded] = true
- end
-
- o.on "--threadpool-size SIZE", "Set the size of thread pool" do |arg|
+ o.on "--threadpool-size SIZE", "Set the size of thread pool. Set 1 to disable" do |arg|
@options[:threadpool_size] = arg.to_i
end
diff --git a/lib/plum/rack/config.rb b/lib/plum/rack/config.rb
index a5a651f..f7284dc 100644
--- a/lib/plum/rack/config.rb
+++ b/lib/plum/rack/config.rb
@@ -7,8 +7,7 @@ module Plum
debug: false,
log: nil, # $stdout
server_push: true,
- threaded: false,
- threadpool_size: 20,
+ threadpool_size: 1,
}.freeze
def initialize(config = {})
diff --git a/lib/plum/rack/dsl.rb b/lib/plum/rack/dsl.rb
index 1b46360..eb70965 100644
--- a/lib/plum/rack/dsl.rb
+++ b/lib/plum/rack/dsl.rb
@@ -40,10 +40,6 @@ module Plum
@config[:server_push] = !!bool
end
- def threaded(bool)
- @config[:threaded] = !!bool
- end
-
def threadpool_size(int)
@config[:threadpool_size] = int.to_i
end
diff --git a/lib/plum/rack/server.rb b/lib/plum/rack/server.rb
index 9aedc20..f01f0ac 100644
--- a/lib/plum/rack/server.rb
+++ b/lib/plum/rack/server.rb
@@ -10,7 +10,7 @@ module Plum
@app = config[:debug] ? ::Rack::CommonLogger.new(app) : app
@logger = Logger.new(config[:log] || $stdout).tap { |l| l.level = config[:debug] ? Logger::DEBUG : Logger::INFO }
@listeners = config[:listeners].map { |lc| lc[:listener].new(lc) }
- @threadpool = ThreadPool.new(@config[:threadpool_size]) if @config[:threaded]
+ @threadpool = ThreadPool.new(@config[:threadpool_size]) if @config[:threadpool_size] > 1
@logger.info("Plum #{::Plum::VERSION}")
@logger.info("Config: #{config}")
diff --git a/lib/plum/rack/thread_pool.rb b/lib/plum/rack/thread_pool.rb
index 9e07943..43738f9 100644
--- a/lib/plum/rack/thread_pool.rb
+++ b/lib/plum/rack/thread_pool.rb
@@ -2,7 +2,7 @@
module Plum
module Rack
class ThreadPool
- def initialize(size = 20)
+ def initialize(size)
@workers = Set.new
@jobs = Queue.new