-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch to Puma for Rack compatibility (#2744)
We're now using Rack 3, since upgrading to Rails 8.0 in #2705. There's an incompatiblity between Unicorn and Rack 3, which whilst it has a commit to fix it, hasn't been released yet. Unfortunately it wasn't possible to bundle Unicorn directly from the repo, and building the gem locally didn't work despite a few attempts. Instead, let's switch to Puma. Fixes #2730. https://stackoverflow.com/a/78594913 https://yhbt.net/unicorn.git/9d7bab0bc2211b20806d4d0289a7ea992e49a8a1/s/
- Loading branch information
1 parent
f88d3ae
commit 8b0e79b
Showing
10 changed files
with
45 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb | ||
web: bundle exec puma -C config/puma.rb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# 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 can serve each request in a thread from an internal thread pool. | ||
# The `threads` method setting takes two numbers: a minimum and maximum. | ||
# Any libraries that use thread pools should be configured to match | ||
# the maximum value specified for Puma. Default is set to 5 threads for minimum | ||
# and maximum; this matches the default thread size of Active Record. | ||
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } | ||
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } | ||
threads min_threads_count, max_threads_count | ||
|
||
# Specifies that the worker count should equal the number of processors in production. | ||
if ENV["RAILS_ENV"] == "production" | ||
require "concurrent-ruby" | ||
worker_count = Integer(ENV.fetch("WEB_CONCURRENCY") { Concurrent.physical_processor_count }) | ||
workers worker_count if worker_count > 1 | ||
end | ||
|
||
# Specifies the `worker_timeout` threshold that Puma will use to wait before | ||
# terminating a worker in development environments. | ||
worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development" | ||
|
||
# Specifies the `port` that Puma will listen on to receive requests; default is 3000. | ||
port ENV.fetch("PORT") { 3000 } | ||
|
||
# Specifies the `environment` that Puma will run in. | ||
environment ENV.fetch("RAILS_ENV") { "development" } | ||
|
||
# Specifies the `pidfile` that Puma will use. | ||
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" } | ||
|
||
# Allow puma to be restarted by `bin/rails restart` command. | ||
plugin :tmp_restart |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters