2009-06-10 67 views
7

自從我上次在Rails中使用背景以來已經有一段時間了。我以前使用過backgroundrb和bj。還有什麼可以更好地管理後臺任務嗎? (!還)什麼是Rails最好的後臺作業管理庫?

+1

發現這個演講:http://www.scribd.com/doc/2589535/Handling-LongRunning-Tasks-in-Rails 它沒有現有的庫並排比較。我想在閱讀完這本書後我會堅持w/bj。 – manlycode 2009-06-10 20:06:38

回答

2

我在過去成功地使用過bj。不過,我最近聽到了有關Delayed Job的好消息。像Heroku這樣的地方正在提供它。

+0

我結束了與bj。但是,對於rails 2.1+,時區有一些問題。要修復它,你必須修改一些插件代碼。 – manlycode 2009-06-11 16:32:34

1

Spawn一直很適合我。該API簡單,你可以得到。在長時間運行的控制器或模型的方法:

spawn do 
    logger.info("I feel sleepy...") 
    sleep 11 
    logger.info("Time to wake up!") 
    end 

菌種同時提供分叉和線程,這取決於你想做什麼。它似乎也被作者積極維護。

2

Starling和workling是很好的組合。我知道Starling對整個Twitter的事情都有不好的說唱,但是對於大多數rails應用程序來說,這很好。此外,Workling不需要使用Starling作爲隊列,它也使用AMQP的東西,但是這更容易集成到使用EventMachine的環境中,比如瘦或偶數的Mongrel,所以如果您使用Passenger,它會更多一點難。

這意味着如果你想使用AMQP,你可以使用像RabbitMQ這樣快速排隊的隊列,並且如果你想使用那個隊列,還有其他方法可以與它集成,Carrot和Warren會想起來。

我喜歡Starling和Workling,安裝簡單,使用起來非常簡單。在github上查找信息here