Spec-Zone.ru › Ruby on Rails 8.1

class 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 40
def show
  render_up
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

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