Spec-Zone.ru › Ruby on Rails 7.1

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