У меня есть объект Sinatra :: Base, который я хотел бы включить во все мои веб-приложения. В этом базовом классе у меня есть метод configure, который вызывается при запуске.
Я хотел бы, чтобы этот код конфигурации «регистрировал» эту службу в централизованной базе данных. Информация, которую необходимо отправить при регистрации, - это информация о том, как связаться с этим веб-сервисом ... такие вещи, как хост и порт.
Затем я планирую создать службу мониторинга, которая будет прокручивать все зарегистрированные службы и время от времени проверять их, чтобы убедиться, что они все еще работают.
В методе настройки у меня возникают проблемы при получении информации о порте. Переменная self.settings.port, похоже, не работает в этом методе.
а) есть идеи как получить порт? У меня есть хозяин.
б) есть ли плагин sinatra, который уже делает что-то подобное, так что мне не нужно писать это самому? : -)
// в моем Синатре :: Базовый код. давайте назовем это register_me.rb
RegisterMe <Синатра :: База </p>
configure do
// сохранить информацию о хосте и порте в базу данных
конец
get '/ check_status'
// возвращаем статус
конец
// в моем коде веб-службы
require register_me // в этот момент sinatra инициализирует объект RegisterMe и вызовет configure
post ('/ blah')
// пример метода для этого конкретного веб-сервиса
конец