2014-01-15 68 views
7

我是新來的在Rails上使用工頭寶石。我在Rails 3.2,Ruby 1.9.3和Foreman 0.6上運行一個應用程序。我想知道當我跑到領班時幕後會發生什麼。具體來說,在本地終端上運行foreman run rails sforeman start之間的差異。foreman start和foreman run rails server有什麼區別?

我已經注意到一些差異了。例如,工人只在運行foreman start時運行,而不運行foreman run rails s。但我想知道具體情況。哪裏可以閱讀更多關於這個,或者可以解釋它是如何工作的?

回答

11

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

foreman start用於直接在命令行中運行應用程序。 如果沒有傳遞額外參數,工頭將運行Procfile中定義的每種類型過程的一個實例。

foreman run用於使用與定義的進程相同的環境運行一次性命令。

run是有用的,因爲你的應用程序可能取決於一個.env文件中定義的環境變量由工頭和新運行一個單一的過程,即使是當前正在裝載。 start允許您運行一個複雜的應用程序環境,該環境需要多個進程充分發揮功能(例如,除了Web服務器之外的後臺作業處理)。

+0

謝謝喬納,這幾乎清除了我對工頭的疑惑。對不起,對於遲到的正確答案選擇,雖然我在等待任何其他觀點。 :) –