Возможно ли, чтобы нить убила процесс пумы? - PullRequest
0 голосов
/ 05 апреля 2019

Мы получаем ошибки 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? Спасибо за вашу помощь.

...