Spec-Zone.ru › Ruby on Rails 7.2

класс Rails::HealthController

Родитель:
ActionController::Base

Встроенный конечный пункт проверки состояния

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" своим собственным действием контроллера, если у вас есть потребности, специфичные для приложения.

Внимательно подумайте о том, что вы хотите проверить, так как это может привести к ситуациям, когда ваше приложение перезапускается из-за сбоя сторонней службы. В идеале вы должны разработать своё приложение таким образом, чтобы оно справлялось с такими сбоями.

Публичные методы экземпляров

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API