diff options
Diffstat (limited to 'lib/unicorn/configurator.rb')
-rw-r--r-- | lib/unicorn/configurator.rb | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/lib/unicorn/configurator.rb b/lib/unicorn/configurator.rb index e8b76f5..3c81596 100644 --- a/lib/unicorn/configurator.rb +++ b/lib/unicorn/configurator.rb @@ -1,13 +1,14 @@ # -*- encoding: binary -*- +# frozen_string_literal: false require 'logger' # Implements a simple DSL for configuring a unicorn server. # -# See https://bogomips.org/unicorn/examples/unicorn.conf.rb and -# https://bogomips.org/unicorn/examples/unicorn.conf.minimal.rb +# See https://yhbt.net/unicorn/examples/unicorn.conf.rb and +# https://yhbt.net/unicorn/examples/unicorn.conf.minimal.rb # example configuration files. An example config file for use with # nginx is also available at -# https://bogomips.org/unicorn/examples/nginx.conf +# https://yhbt.net/unicorn/examples/nginx.conf # # See the link:/TUNING.html document for more information on tuning unicorn. class Unicorn::Configurator @@ -53,6 +54,7 @@ class Unicorn::Configurator server.logger.info("worker=#{worker.nr} ready") }, :pid => nil, + :early_hints => false, :worker_exec => false, :preload_app => false, :check_client_connection => false, @@ -215,7 +217,12 @@ class Unicorn::Configurator set_hook(:before_exec, block_given? ? block : args[0], 1) end - # sets the timeout of worker processes to +seconds+. Workers + # Strongly consider using link:/Application_Timeouts.html instead + # of this misfeature. This misfeature has done decades of damage + # to Ruby since it demotivates the use of fine-grained timeout + # mechanisms. + # + # Sets the timeout of worker processes to +seconds+. Workers # handling the request/app.call/response cycle taking longer than # this time period will be forcibly killed (via SIGKILL). This # timeout is enforced by the master process itself and not subject @@ -276,6 +283,15 @@ class Unicorn::Configurator set_bool(:default_middleware, bool) end + # sets whether to enable the proposed early hints Rack API. + # If enabled, Rails 5.2+ will automatically send a 103 Early Hint + # for all the `javascript_include_tag` and `stylesheet_link_tag` + # in your response. See: https://api.rubyonrails.org/v5.2/classes/ActionDispatch/Request.html#method-i-send_early_hints + # See also https://tools.ietf.org/html/rfc8297 + def early_hints(bool) + set_bool(:early_hints, bool) + end + # sets listeners to the given +addresses+, replacing or augmenting the # current set. This is for the global listener pool shared by all # worker processes. For per-worker listeners, see the after_fork example |