parent
f9439bd0ab
commit
53ae35d75f
16 changed files with 637 additions and 380 deletions
|
@ -1,10 +1,15 @@
|
|||
# This configuration file will be evaluated by Puma. The top-level methods that
|
||||
# are invoked here are part of Puma's configuration DSL. For more information
|
||||
# about methods provided by the DSL, see https://puma.io/puma/Puma/DSL.html.
|
||||
|
||||
#
|
||||
# Puma starts a configurable number of processes (workers) and each process
|
||||
# serves each request in a thread from an internal thread pool.
|
||||
#
|
||||
# You can control the number of workers using ENV["WEB_CONCURRENCY"]. You
|
||||
# should only set this value when you want to run 2 or more workers. The
|
||||
# default is already 1. You can set it to `auto` to automatically start a worker
|
||||
# for each available processor.
|
||||
#
|
||||
# The ideal number of threads per worker depends both on how much time the
|
||||
# application spends waiting for IO operations and on how much you wish to
|
||||
# prioritize throughput over latency.
|
||||
|
@ -23,34 +28,17 @@
|
|||
threads_count = ENV.fetch("RAILS_MAX_THREADS", 3)
|
||||
threads threads_count, threads_count
|
||||
|
||||
# Specifies the `environment` that Puma will run in.
|
||||
rails_env = ENV.fetch("RAILS_ENV", "development")
|
||||
environment rails_env
|
||||
|
||||
case rails_env
|
||||
when "production"
|
||||
# If you are running more than 1 thread per process, the workers count
|
||||
# should be equal to the number of processors (CPU cores) in production.
|
||||
#
|
||||
# Automatically detect the number of available processors in production.
|
||||
require "concurrent-ruby"
|
||||
workers_count = Integer(ENV.fetch("WEB_CONCURRENCY") { Concurrent.available_processor_count })
|
||||
workers workers_count if workers_count > 1
|
||||
|
||||
preload_app!
|
||||
when "development"
|
||||
# Specifies a very generous `worker_timeout` so that the worker
|
||||
# isn't killed by Puma when suspended by a debugger.
|
||||
worker_timeout 3600
|
||||
end
|
||||
|
||||
# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
|
||||
port ENV.fetch("PORT", 3000)
|
||||
|
||||
# Allow puma to be restarted by `bin/rails restart` command.
|
||||
plugin :tmp_restart
|
||||
plugin :solid_queue
|
||||
plugin :tailwindcss if ENV.fetch("RAILS_ENV", "development") == "development"
|
||||
|
||||
# Only use a pidfile when requested
|
||||
# Run the Solid Queue supervisor inside of Puma for single-server deployments.
|
||||
plugin :solid_queue if ENV["SOLID_QUEUE_IN_PUMA"]
|
||||
|
||||
# Specify the PID file. Defaults to tmp/pids/server.pid in development.
|
||||
# In other environments, only set the PID file if requested.
|
||||
pidfile ENV["PIDFILE"] if ENV["PIDFILE"]
|
||||
|
||||
plugin :tailwindcss if ENV.fetch("RAILS_ENV", "development") == "development"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue