site

Website's source files.
git clone git://git.ryanmj.xyz/site.git
Log | Files | Refs | LICENSE

puma.rb (1792B)


      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 #
      7 max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
      8 min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
      9 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.
     25 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.
     43 plugin :tmp_restart