2012-12-12 25 views
1

我一直在搜索整個互聯網,但我似乎無法找到我的確切問題的答案。在Heroku上運行多個不同的進程

我有一個使用參數運行的ruby腳本。例如Append.rb

如果我叫紅寶石Append.rb 0 - 這將啓動一個線程,並做一些邏輯

如果我叫紅寶石Append.rb 2000 - 這將啓動一個新的線程,並做了不同的邏輯

如果我設置了一個Procfile,並使用'fromen start'在本地運行,那麼這兩個腳本都會同時觸發,並且工作正常。

的Procfile看起來是這樣的:

工人:紅寶石Append.rb 0

工人:紅寶石Append.rb 1000

如果我在Heroku上同樣的事情,它會開始2個DYNOS ,但兩者都會觸發:

Append.rb 1000

任何想法如何解決這個問題?

回答

0

web之外的任何內容只是識別該過程的一個無關緊要的字符串,並不需要稱爲worker。但是,該字符串確實需要是唯一的。因此,只需要調用它不同的東西:

worker_0: ruby Append.rb 0 
worker_1000: ruby Append.rb 1000 

然後你就可以在你的規模命令使用這些標識符:

heroku ps:scale worker_0+1 
heroku ps:scale worker_1000=1 

等。有關更多Procfile信息,請參見此處:http://neilmiddleton.com/the-procfile-is-your-friend/

相關問題