Как я могу выполнить проверку работоспособности приложения на основе Rails в Render?

Для рендеринга требуется конечная точка /health, но когда я создаю ее в своем приложении и впервые развертываю, я не могу развернуть, потому что приложение не может загрузиться без выполнения миграции.

похоже, что для проверки работоспособности Render.com требуется, чтобы конечная точка работоспособности отвечала ОК даже до того, как миграция была запущена. как я могу этого добиться?

4 ответа

Вы можете напрямую записать это в файл маршрутов

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

Это сработает для вас

Вы можете использовать жемчужину rails-healthcheck (https://github.com/linqueta/rails-healthcheck) для этого просто:

Установите драгоценный камень и запустите генератор rails g healthcheck:installи звоните / проверяйте работоспособность и вуаля !

Rails 7 теперь предоставляет контроллер проверки работоспособности по умолчанию.

Теперь мы можем посетить /up, чтобы проверить, запущено ли приложение. Если приложение работоспособно, оно вернет код состояния 200. В противном случае он вернет код состояния 503 (https://blog.saeloun.com/2023/02/27/rails-introduces-default-health-check-controller/#:~:text=With%20the%20latest% 20изменения%2C%20мы,возврат%20а%20200%20статус%20код)

создать файл 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"
Другие вопросы по тегам