Запустить определенный код при запуске RACK-сервера

У нас есть прилично большое приложение Rails. Однако спокойные API работают медленно.

Следовательно, мы создаем прототип, чтобы перенести слой API за пределы Rails. В настоящее время мы рассматриваем виноград (https://github.com/intridea/grape), который удалит ActiveRecord и другой тяжелый код Rails. Весь уровень API будет находиться в ядре Ruby.

Для управления пулами соединений с PG мы написали фрагмент кода, который открывает n соединений с БД и поддерживает их. Всякий раз, когда мы хотим выполнить запрос, мы используем одно из этих соединений, а затем возвращаем их обратно в доступный пул.

Теперь мы хотим каким-то образом запустить код генерации пула соединений для запуска сервера RACKUP. Таким образом, когда сервер RACK запускается, все пулы соединений открыты и хранятся в оперативной памяти.

Любая идея, как мы можем вызвать определенный код при запуске сервера RACKUP?

заранее спасибо


person Pykih    schedule 18.09.2014    source источник


Ответы (1)


Для этого есть config.ru. Я использую его для загрузки библиотеки, которая следит за единорогами и убивает/перезапускает их, когда они достигают определенных порогов памяти. Ваш системный администратор может управлять config.ru, если вы не видите его в своем проекте. Лично мне нравится иметь его в исходном дереве.

person Joe McDonagh    schedule 11.10.2014