1

Желаемый сценарий заключается в том, чтобы запускать движок на отдельном динамо или динамике при развертывании в Heroku. PROCFILE будет выглядеть примерно так:Добавить Rails Engine в Procfile?

web: bundle exec rails server -p $PORT 
worker: bundle exec rake jobs:work 
engine: TODO 

Таким образом, мы можем масштабировать динамометрические стенды, используемого двигателем легко: heroku ps:scale engine=3

Возможно ли это?

ответ

1

Этот вопрос был здесь: https://groups.google.com/forum/#!topic/components-in-rails/zQTLPZGqIaI

Законченным после консультации с Энрико Teotti на этом посте: http://teotti.com/feature-flagging-portions-of-your-ruby-on-rails-application-with-engines/

В основном мы должны особенность пометки нашего двигателя. В routes.rb:

Rails.application.routes.draw do 
    case ENV['APP_RUNNING_MODE'] 
    when 'my_engine' 
    mount MyEngine::Engine => "/my_engine" 
    else 
    # rest of the routes... 
    end 
end 

Procfile будет выглядеть следующим образом:

web: bundle exec rails server -p $PORT 
worker: bundle exec rake jobs:work 
engine: APP_RUNNING_MODE=my_engine bundle exec rails server -p $PORT 
+0

Очень интересное решение! Как вам удалось разоблачить оба сервера рельсов на одном и том же порту, чтобы они стали доступны снаружи? В качестве побочного комментария хорошая функция была бы, если бы : часть Procfile была бы доступна во время выполнения внутри переменной среды, поэтому вам не нужно было бы явно указывать ее в APP_RUNNING_MODE. Так держать! – fagiani

+0

эй @fagiani извините за поздний ответ. Просто проверено, и мы используем тот же порт, но в разных приложениях heroku. –

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