渲染需要 /health 端点,但是当我在应用程序中创建它并首次部署时,我无法部署,因为如果没有先运行迁移,应用程序就无法启动。
即使在迁移运行之前,Render.com 运行状况检查也需要运行状况端点响应正常。我怎样才能实现这个目标?
Rails 6及以下版本,可以直接写在routes文件中
get '/health_check', to: proc { [200, {}, ['success']] }
您可以使用rails-healthcheck(https://github.com/linqueta/rails-healthcheck)gem来简单地实现:
安装 gem 并运行生成器
rails g healthcheck:install
并调用 /healthcheck 和 voilà!
Rails 7 现在提供默认的健康检查控制器。
我们现在可以访问 /up 来检查应用程序是否正在运行。如果应用程序运行正常,它将返回 200 状态代码。否则,它将返回 503 状态代码(https://blog.saeloun.com/2023/02/27/rails-introduces-default-health-check-controller/#:~:text=With%20the%20latest %20changes%2C%20we,返回%20a%20200%20status%20code)