Конечная точка проверки работоспособности для автономного приложения для действий с пассажирами

Я использую сервер Rails ActionCable, используя автономную версию для пассажиров на AWS.

Настройка работает довольно хорошо, у меня есть следующий файл конфигурации

# cable/config.ru
require_relative '../config/environment'
Rails.application.eager_load!

run ActionCable.server

И я запускаю ActionCable с помощью этой команды

execute(:passenger, 'start',
  '--environment', fetch(:rails_env),
  '--port', '28080',
  '--max-pool-size', 2,
  '-R', 'cable/config.ru',
  '--pid-file', shared_path.join('tmp/pids/cable.pid'),
  '--log-file', shared_path.join("log/cable-#{fetch(:rails_env)}.log"),
  '--force-max-concurrent-requests-per-process', '0',
  '--daemonize'
)

Теперь проблема в том, что я пытаюсь установить это за AWS ALB (ELBv2) и настроить правильные проверки работоспособности, чтобы позже я мог настроить автоматическое масштабирование / восстановление после сбоя. Однако, согласно документации AWS, проверки работоспособности ALB не поддерживают веб-сокеты.

Можно ли настроить обычный маршрут проверки работоспособности HTTP для балансировщика нагрузки вместе с сервером ActionCable. В идеале этот маршрут будет связан с моим /cable URL (когда кабельный сервер не работает, проверка работоспособности должна быть отключена)

Есть идеи?

0 ответов

Другие вопросы по тегам