2012-03-07 46 views
0

我使用Timer類紅寶石EventMachine的庫如下:紅寶石EventMachine的計時器的時間間隔太大錯誤

EM::Timer.new(interval) do 
    # do something 
end 

如果我設置的時間間隔值過大(超過最大整數值越大),如「5183877.350508」 ,它會引發一個錯誤:

integer 5183883250 too big to convert to `int'

這是事件機器的定時器間隔的限制還是一個錯誤? 如果必須將計時器間隔設置得更大(例如幾個月或幾年),我應該怎麼做。

回答

0

你應該怎麼做取決於你的使用情況。

雖然我認爲依靠您的流程繼續不間斷地持續運行好幾個月是件樂觀的事,但可以想見會發生。但是,除非這是一個監視程序計時器(例如,由於某種原因,你的服務器肯定會在4個月後死亡),我認爲你很可能需要一個調度程序。

我相信Rufus Scheduler與EventMachine相當好地集成在一起。

+0

好的,非常感謝! 我會嘗試Rufus調度程序。 – tidy 2012-03-08 05:25:05