класс 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.