我使用了ruby eventmachine库的Timer类,如下所示:
EM::Timer.new(interval) do
# do something
end
如果我将间隔值设置得太大(大于最大整数值),例如'5183877.350508',则会引发错误:
整数5183883250太大而无法转换为`int'
这是eventmachine的定时器间隔或bug的限制吗? 如果我必须将定时器间隔设置得更大(例如几个月或几年),我该怎么办。
答案 0 :(得分:0)
您应该做什么取决于您的使用案例。
虽然我认为依靠你的流程连续几个月不间断地运行是乐观的,但可能会发生这种情况。但是,除非这是一个监视计时器(例如,你的服务器因某种原因肯定会在4个月后死掉),我认为你最有可能想要一个调度程序。
我相信Rufus Scheduler与EventMachine合作得很好。