Modification de la configuration de puma pour permettre le mode cluster en production

Puma: change config to enable cluster mode in production
This commit is contained in:
LeSim 2019-03-18 11:57:10 +01:00 committed by GitHub
commit d13d6b5e5f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,42 +15,43 @@ port ENV.fetch("PORT") { 3000 }
# #
environment ENV.fetch("RAILS_ENV") { "development" } environment ENV.fetch("RAILS_ENV") { "development" }
# Specifies the number of `workers` to boot in clustered mode. if ENV.fetch("RAILS_ENV") == "production"
# Workers are forked webserver processes. If using threads and workers together # Specifies the number of `workers` to boot in clustered mode.
# the concurrency of the application would be max `threads` * `workers`. # Workers are forked webserver processes. If using threads and workers together
# Workers do not work on JRuby or Windows (both of which do not support # the concurrency of the application would be max `threads` * `workers`.
# processes). # Workers do not work on JRuby or Windows (both of which do not support
# # processes).
# workers ENV.fetch("WEB_CONCURRENCY") { 2 } #
workers ENV.fetch("WEB_CONCURRENCY") { 2 }
# Use the `preload_app!` method when specifying a `workers` number. # Use the `preload_app!` method when specifying a `workers` number.
# This directive tells Puma to first boot the application and load code # This directive tells Puma to first boot the application and load code
# before forking the application. This takes advantage of Copy On Write # before forking the application. This takes advantage of Copy On Write
# process behavior so workers use less memory. If you use this option # process behavior so workers use less memory. If you use this option
# you need to make sure to reconnect any threads in the `on_worker_boot` # you need to make sure to reconnect any threads in the `on_worker_boot`
# block. # block.
# #
# preload_app! preload_app!
# If you are preloading your application and using Active Record, it's # If you are preloading your application and using Active Record, it's
# recommended that you close any connections to the database before workers # recommended that you close any connections to the database before workers
# are forked to prevent connection leakage. # are forked to prevent connection leakage.
# #
# before_fork do before_fork do
# ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord) ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
# end end
# The code in the `on_worker_boot` will be called if you are using # The code in the `on_worker_boot` will be called if you are using
# clustered mode by specifying a number of `workers`. After each worker # clustered mode by specifying a number of `workers`. After each worker
# process is booted, this block will be run. If you are using the `preload_app!` # process is booted, this block will be run. If you are using the `preload_app!`
# option, you will want to use this block to reconnect to any threads # option, you will want to use this block to reconnect to any threads
# or connections that may have been created at application boot, as Ruby # or connections that may have been created at application boot, as Ruby
# cannot share connections between processes. # cannot share connections between processes.
# #
# on_worker_boot do on_worker_boot do
# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
# end end
# end
# Allow puma to be restarted by `rails restart` command. # Allow puma to be restarted by `rails restart` command.
plugin :tmp_restart plugin :tmp_restart