2014-01-15 5 views
7

Ich bin neu in der Verwendung der Vorarbeiter Juwel auf Rails. Ich betreibe eine App auf Rails 3.2, Ruby 1.9.3 und Foreman 0.6. Ich würde gerne wissen, was hinter den Kulissen passiert, wenn ich den Vorarbeiter führe. Genauer gesagt, der Unterschied zwischen foreman run rails s gegen foreman start auf meinem lokalen Terminal laufen.Was ist der Unterschied zwischen Vorarbeiter Start und Vorarbeiter Run Rails Server?

Ich habe bereits einige Unterschiede festgestellt. Beispielsweise wird ein Worker nur ausgeführt, wenn foreman start ausgeführt wird, und nicht, wenn ich foreman run rails s ausführen. Aber ich würde gerne die Einzelheiten wissen. Wo kann man mehr darüber lesen, oder kann jemand erklären, wie es funktioniert?

Antwort

11

Siehe http://ddollar.github.io/foreman/

foreman start verwendet wird Ihre Anwendung direkt von der Kommandozeile ausgeführt werden. Wenn keine zusätzlichen Parameter übergeben werden, führt der Vorarbeiter eine Instanz jedes Prozesstyps aus, der in Ihrer Procfile definiert ist.

foreman run wird verwendet, um einmalige Befehle auszuführen, die dieselbe Umgebung wie Ihre definierten Prozesse verwenden.

run ist nützlich, da die App auf Umgebungsvariablen, die in einer .env Datei wird geladen, indem Vorarbeiter und die neuen abhängen kann vorhanden sein, auch wenn ein einzelnen Prozess ausgeführt wird. start können Sie eine komplexe App-Umgebung ausführen, die mehrere Prozesse benötigt, um voll funktionsfähig zu sein (Hintergrundjob-Verarbeitung zusätzlich zu einem Webserver zum Beispiel).

+0

Danke Jonah, das hat einige Zweifel über Vorarbeiter geklärt. Sorry, für die verspätete richtige Antwortauswahl habe ich auf alternative Perspektiven gewartet. :) –

Verwandte Themen