|
1 |
| -# Puma can serve each request in a thread from an internal thread pool. |
2 |
| -# The `threads` method setting takes two numbers: a minimum and maximum. |
3 |
| -# Any libraries that use thread pools should be configured to match |
4 |
| -# the maximum value specified for Puma. Default is set to 5 threads for minimum |
5 |
| -# and maximum; this matches the default thread size of Active Record. |
6 |
| -# |
| 1 | +# Puma configuration file. |
7 | 2 | max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
|
8 | 3 | min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
|
9 | 4 | threads min_threads_count, max_threads_count
|
10 |
| - |
11 |
| -# Specifies the `worker_timeout` threshold that Puma will use to wait before |
12 |
| -# terminating a worker in development environments. |
13 |
| -# |
14 |
| -worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development" |
15 |
| - |
16 |
| -# Specifies the `port` that Puma will listen on to receive requests; default is 3000. |
17 |
| -# |
18 |
| -port ENV.fetch("PORT") { 3000 } |
19 |
| - |
20 |
| -# Specifies the `environment` that Puma will run in. |
21 |
| -# |
22 |
| -environment ENV.fetch("RAILS_ENV") { "development" } |
23 |
| - |
24 |
| -# Specifies the `pidfile` that Puma will use. |
| 5 | +port ENV.fetch("PORT") { 3000 } |
| 6 | +environment ENV.fetch("RAILS_ENV") { ENV['RACK_ENV'] || "development" } |
25 | 7 | pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
|
26 |
| - |
27 |
| -# Specifies the number of `workers` to boot in clustered mode. |
28 |
| -# Workers are forked web server processes. If using threads and workers together |
29 |
| -# the concurrency of the application would be max `threads` * `workers`. |
30 |
| -# Workers do not work on JRuby or Windows (both of which do not support |
31 |
| -# processes). |
32 |
| -# |
33 |
| -# workers ENV.fetch("WEB_CONCURRENCY") { 2 } |
34 |
| - |
35 |
| -# Use the `preload_app!` method when specifying a `workers` number. |
36 |
| -# This directive tells Puma to first boot the application and load code |
37 |
| -# before forking the application. This takes advantage of Copy On Write |
38 |
| -# process behavior so workers use less memory. |
39 |
| -# |
40 |
| -# preload_app! |
41 |
| - |
42 |
| -# Allow puma to be restarted by `bin/rails restart` command. |
| 8 | +workers ENV.fetch("WEB_CONCURRENCY") { 2 } |
| 9 | +preload_app! |
43 | 10 | plugin :tmp_restart
|
0 commit comments