如何每x秒进行一次方法调用?

时间:2013-04-15 03:14:27

标签: ruby-on-rails ruby sinatra

是否有一个简单的库可以让我按照Web请求指定的每x秒安排一个非常简单的任务?

我正在寻找以下内容:

Something.after(5) { call_method }

很简单。我是否必须安装像resque这样的库,或者是否有可以处理此问题的库?我不是在寻找完整的后台队列处理,只是一个简单的方法调用x秒后。我知道resque和sidekiq ......

我需要从Rails或Sinatra运行它。

2 个答案:

答案 0 :(得分:4)

也许会重写您的代码示例:

Something.after(5) { call_method }

为:

Something
Thread.new do
  sleep(5)
  call_method
end

答案 1 :(得分:0)

最好将其发送给后台任务,看看resque-scheduler& Resque。还有一个很好的Railscast,值得一试。其他任何像使用crons的东西都不对。

我确实找到了这个宝石(sucker_punch),它看起来像你需要的那样