2015-10-22 2 views
1

Всякий раз, когда приложение Rails 4 загружается после развертывания, я хочу сделать REST APi-вызов другому приложению, чтобы сообщить ему, что мое приложение готово и запускает некоторые тесты.Rails - after_initialize или initializer

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

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

Может ли кто-нибудь помочь?

Вот код, я хочу работать, когда приложение загружается:

if Rails.env.dev? 
    response = HTTParty.post(the_rest_url, 
        { 
        :basic_auth => @auth 
        }) 
    puts response.message 
+0

При развертывании кода с Capistrano я рекомендую делать это там. – tiktak

ответ

0

Я бы поставил его в config/environments/development.rb, как вы хотите, чтобы работать в разработке.

Это описано в guides

config.after_initialize do 
    response = HTTParty.post(the_rest_url, 
        { 
        :basic_auth => @auth 
        }) 
    puts response.message 
end 

Обратите внимание, что этот блок будет работать на грабли задач

+0

спасибо - не могли бы вы подробнее остановиться на записке о рейк-задачах? Я не хочу, чтобы это выполнялось при выполнении грабли – user3437721

+0

вы можете поместить его в файл инициализатора, подобный этому примеру кода? https://gist.github.com/stevenharman/8590937 – user3437721

+0

Я не думал, что вы хотите его в инициализаторе? Примечание от гидов. –

Смежные вопросы