如何在 Render 上对基于 Rails 的应用程序进行健康检查?

问题描述

Render 需要一个 /health 端点,但是当我在我的应用程序中创建它并第一次部署时,我无法部署,因为如果没有先运行迁移,应用程序就无法启动。

似乎 Render.com 健康检查需要健康端点在迁移运行之前响应 OK。我怎样才能做到这一点?

解决方法

你可以直接写在路由文件中

get '/health_check',to: proc { [200,{},['success']] }

它对你有用

,

创建文件lib/health_check.rb

HealthCheck = Rack::Builder.new do
  use Rack::CommonLogger
  map '/' do
    run lambda { |env| [200,{'Content-Type' => 'text/plain'},['OK']] }
  end
end

创建文件config/initializers/health_check.rb

require './lib/health_check.rb'

然后,在您的 routes.rb 文件中,

  mount HealthCheck,at: "/health"