Heroku でゼロ ダウンタイムのデプロイ戦略が可能かどうか疑問に思っていました。現在の Heroku ドキュメントでは、アプリをプッシュすると、アプリのリロードに約 1 分かかり、使用できなくなることがわかりました。ドキュメントのユニコーン コードはアプリをプリロードするので、なぜこれが起こっているのか混乱しています。私にできることはありますか?
https://devcenter.heroku.com/articles/rails-unicorn
新しい遺物アドオンと、弾性検索用の盆栽があります。
これが私の unicorn.rb 初期化子です:
# config/unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end