Ruby延迟码

Ruby延迟码,ruby,Ruby,我想用我的Ruby Sinatra脚本在5分钟后启动这个Twilio电话。最好/最简单的方法是什么 @call = @client.account.calls.create( :from => '+11231231234', :to => '+13333333333', :url => 'response.xml' ) 我使用gem,它允许您延迟ruby中的任何代码: require 'rufus-scheduler' scheduler

我想用我的Ruby Sinatra脚本在5分钟后启动这个Twilio电话。最好/最简单的方法是什么

@call = @client.account.calls.create(
    :from => '+11231231234',
    :to => '+13333333333',     
    :url => 'response.xml'
)
我使用gem,它允许您延迟ruby中的任何代码:

require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new

scheduler.in '5m' do
  # do something in 5 minutes
end
创业板是:

Rufus调度程序(开箱即用)是一个进程内、内存中的调度程序

它不会坚持你的时间表。当进程和调度程序实例一起消失时,调度也就消失了

异步代码执行的类似解决方案,包括定时事件,包括gem和gem(我倾向于使用)

如果您使用的是
Thin
服务器,那么您已经在运行EventMachine,不妨使用它。碘服务器和它自己的反应器模式也是如此


另一方面,如果您需要一些即使在启动过程完成后仍保持不变的内容,请查看需要附加过程和队列存储(redis)的后台作业,最流行的库是:

  • 拯救
  • 西德基

太棒了!谢谢!