класс Rails::HealthController
Встроенный конечный пункт проверки состояния
Rails также имеет встроенный конечный пункт проверки состояния, доступный по адресу /up. Этот конечный пункт вернёт код состояния 200, если приложение загрузилось без исключений, и код 500 в противном случае.
Во многих приложениях в рабочей среде требуется сообщать об их состоянии внешним сервисам, например, монитору работоспособности, который уведомит инженера о проблемах, или балансировщику нагрузки или контроллеру Kubernetes, используемому для определения состояния контейнера. Данная проверка состояния предназначена для универсального использования в различных ситуациях.
Хотя в новых приложениях Rails проверка состояния будет по адресу /up, вы можете настроить путь на любой желаемый в своём "config/routes.rb".
Rails.application.routes.draw do get "healthz" => "rails/health#show", as: :rails_health_check end
Проверка состояния теперь доступна по адресу /healthz.
ПРИМЕЧАНИЕ: Этот конечный пункт не отражает состояние всех зависимостей вашего приложения, таких как база данных или кластер Redis. Замените "rails/health#show" на собственный контроллер действия, если у вас есть специфические потребности приложения.
Тщательно обдумайте, что вы хотите проверить, так как это может привести к ситуациям, когда ваше приложение будет перезапускаться из-за проблем с сторонним сервисом. В идеале, вы должны разработать своё приложение, чтобы оно могло обрабатывать такие сбои.
Публичные методы экземпляра
# File railties/lib/rails/health_controller.rb, line 38 def show render_up end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.