2011-09-12 45 views
5

我有一個Sinatra應用程序,我計劃在Heroku上託管。運行Ruby腳本作爲Sinatra的子進程/另一個線程的最佳方式是什麼?

該應用程序部分地將很多信息從網絡上的其他頁面中存儲並將信息存儲到數據庫。這些報廢操作是一個緩​​慢的過程,所以我需要它們在另一個線程/進程中運行,與我的Sinatra應用程序分開。

我的計劃只是爲每個進程提供一個按鈕,我可以點擊並在後臺進行報廢。

我不確定什麼是最好的方法來做到這一點,由Heroku將允許複雜。

回答

4

有個叫hirefire專爲寶石:

自動HireFire「僱用」與「火」(又名「秤」)延遲工作 和Resque工人在Heroku。當沒有隊列作業時,HireFire 將觸發(關閉)所有工人。如果有排隊的工作,那麼 它會僱傭(旋轉)工人。被僱用的工作人員數量取決於排隊作業的數量(該比例可以由您配置 )。 HireFire非常適合高,中,低流量的應用。只有在有待處理的工作時才僱用工作人員 ,然後在處理完所有 工作後再開始工作,從而爲您節省大量資金。它還能夠通過在隊列大小增加時自動僱傭更多工作人員來顯着減少處理時間。

+0

非常好。謝謝。 –

相關問題