От Синатра Базовый объект. Получить порт приложения, включая базовый объект - PullRequest
1 голос
/ 29 мая 2010

У меня есть объект 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')

// пример метода для этого конкретного веб-сервиса

конец

1 Ответ

3 голосов
/ 03 июня 2010

Sinatra :: Application.port вернет правильный порт

...