Мы получаем ошибки H12 на Heroku. Когда мы исследовали проблему, мы подозревали, что из одного потока можно полностью завершить процесс пумы, и это приводит к проблемам с тайм-аутом H12.
Наши конфигурации для пумы есть; MAX_THREADS = 60, WEB_CONCURRENCY = 1
Мы используем один стандарт-2x dyno для сети.
puma.rb
thread_count = ENV.fetch("MAX_THREADS") { 5 }.to_i
threads thread_count, thread_count
port ENV.fetch("PORT") { 3000 }
environment ENV.fetch("RACK_ENV") { "development" }
workers ENV.fetch("WEB_CONCURRENCY") { 1 }
preload_app!
before_fork do
ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
end
on_worker_boot do
ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
end
plugin :tmp_restart
Может ли поток полностью завершить процесс puma
и вызвать проблемы тайм-аута H12? Спасибо за вашу помощь.