2013-04-09 62 views
0

我有一个Web应用程序,它是假设允许用户设置计时器,它会通知他们(通过推送通知)时间到了。用户也可以随时取消这些定时器。Rails /西纳特拉宝石时间警报

有没有一个宝石已经这样做?我需要它能够动态地分配时间,并在当时通过阻止当前做什么。此外,我有能力取消执行某个特定块非常重要。

+0

你可以使用的东西,如:'的https:// github.com/resque/resque'其中每个定时器是'工作'放在队列中。然后,工人们只能在时间到时将工作从队列中排除。 – fmendez 2013-04-09 17:51:27

回答

1

尝试timers宝石。

与Timers.new创建一个新的计时器组:

require 'timers' 
timers = Timers.new 

预约PROC 5秒计时器#之后运行后:

five_second_timer = timers.after(5) { puts "Take five" } 

five_second_timer变量现在结合到Timers::Timer目的。要取消计时器,使用Timers::Timer#cancel

详细检查这里的自述: https://github.com/celluloid/timers

+0

谢谢。任何想法如何跟踪Web请求之间的计时器?例如,用户要求启动计时器,5分钟后要求停止计时器。我如何引用已创建的计时器来阻止它? – 0xSina 2013-04-09 19:40:13