Cha*_*iam 3 ruby ruby-on-rails puma devops
我正在运行以下 puma 配置
threads_count = Integer(ENV["DB_POOL"] || ENV["MAX_THREADS"] || 15)
threads threads_count, threads_count
workers 3
preload_app!
rackup DefaultRackup
port ENV["PORT"] || 3000
environment ENV["RACK_ENV"] || "development"
on_worker_boot do
ActiveSupport.on_load(:active_record) do
ActiveRecord::Base.establish_connection
end
end
before_fork do
ActiveRecord::Base.connection_pool.disconnect!
end
Run Code Online (Sandbox Code Playgroud)
它非常适合生产,但我不想启动 3 个工人或在开发中使用 webrick。我尝试在环境检查中包装工人特定的代码,但这破坏了 puma DSL。在开发中以非集群模式运行 puma 的任何想法?
Railspuma 配置文件中没有定义,所以Rails.env不能在这里使用,但RACK_ENV没关系。
workers(ENV["RACK_ENV"] == "production" ? 3 : 0)
Run Code Online (Sandbox Code Playgroud)