отправить HTTP GET каждому работнику-единорогу после развертывания heroku

Мне интересно, задумывался ли кто-нибудь когда-нибудь о том, чтобы «разогреть» своих динамометров и рабочих-единорогов после изменения развертывания/конфигурации и т. д.

У меня есть приложение на героку, и я использую предварительную загрузку, чтобы поддерживать отзывчивость сайта во время развертывания, но первые запросы к каждому работнику-единорогу всегда немного медленнее, чем последующие.

Я подумал, что вы могли бы запустить что-нибудь на after_fork в конфигурации единорога, чтобы отправить запрос новому воркеру. Но не уверен, как именно это сделать, и было бы здорово, если бы кто-то, кто уже решил это, мог поделиться!

Спасибо! Дункан


person Duncan Stewart    schedule 20.08.2013    source источник


Ответы (1)


В случае, если кто-то изучает это. Решение, которое я придумал, состоит в том, чтобы добавить:

ActionController::Integration::Session.new(::Rails.application).get '/'

to after_fork in unicorn.rb

Насколько я понимаю, это создаст локальный вызов стойки для корневого пути, который должен разогреть что-либо, как это сделал бы первый реальный запрос.

Я еще не проводил всестороннего тестирования этого решения, но прокомментирую, если у меня возникнут проблемы.

person Duncan Stewart    schedule 04.09.2013