渲染需要一个 /health 端点,但是当我在我的应用程序中创建它并第一次部署时,我无法部署,因为如果没有先运行迁移,应用程序就无法启动。
即使在迁移运行之前,Render.com 健康检查似乎也需要健康端点做出响应。我怎样才能做到这一点?
渲染需要一个 /health 端点,但是当我在我的应用程序中创建它并第一次部署时,我无法部署,因为如果没有先运行迁移,应用程序就无法启动。
即使在迁移运行之前,Render.com 健康检查似乎也需要健康端点做出响应。我怎样才能做到这一点?
您可以直接将其写入路由文件
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"
您可以简单地使用 rails-healthcheck ( https://github.com/linqueta/rails-healthcheck ) gem:
安装 gem 并运行生成器rails g healthcheck:install
并调用 /healthcheck ,瞧!