2014-01-15 4 views
7

Я новичок в использовании бриллианта-мастера на Rails. Я запускаю приложение на Rails 3.2, Ruby 1.9.3 и Foreman 0.6. Я хотел бы знать, что происходит за кулисами, когда я запускаю мастера. В частности, разница между запуском foreman run rails s по сравнению с foreman start на моем локальном терминале.В чем разница между стартом мастера и сервером run rails?

Я уже заметил некоторые отличия. Например, рабочий работает только при запуске foreman start, а не при запуске foreman run rails s. Но я хотел бы знать специфику. Где можно узнать больше об этом, или кто-нибудь может объяснить, как это работает?

ответ

11

См http://ddollar.github.io/foreman/

foreman start используется для запуска приложения непосредственно из командной строки. Если никаких дополнительных параметров не передано, мастер запускает один экземпляр каждого типа процесса, определенного в вашем файле Procfile.

foreman run используется для запуска одноразовых команд с использованием той же среды, что и ваши определенные процессы.

run полезно, так как ваше приложение может зависеть от переменных среды, определенных в .env файл загружается на бригадира и какие новые присутствовать даже при выполнении одного процесса. start позволяет запускать сложную среду приложения, которая требует, чтобы несколько процессов были полностью функциональными (например, обработка фоновых заданий в дополнение к веб-серверу).

+0

Спасибо, Иона, что в значительной степени очистил некоторые сомнения, которые у меня были о бригадире. Извините, но для позднего правильного выбора ответа я ожидал каких-либо альтернативных перспектив. :) –

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