我想从我的Ruby Sinatra脚本启动这个Twilio电话从现在起5分钟。最好/最简单的方法是什么?
@call = @client.account.calls.create(
:from => '+11231231234',
:to => '+13333333333',
:url => 'response.xml'
)
答案 0 :(得分:2)
我使用rufus-scheduler gem,它允许你延迟ruby中的任何代码:
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
scheduler.in '5m' do
# do something in 5 minutes
end
答案 1 :(得分:0)
rufus-scheduler宝石是:
Rufus-scheduler(开箱即用)是一个进程内的内存调度程序。
它不会保留您的日程安排。当进程消失并且调度程序实例带有它时,计划就不见了。
异步代码执行的类似解决方案,包括定时事件,包括eventmachine gem和iodine gem(我偏向于它)。
如果您正在使用Thin
服务器,那么您已经在运行EventMachine,也可以使用它。 Iodine
服务器和它自己的反应器模式也是如此。
另一方面,如果您在启动过程完成后仍需要持久性内容,请查看Sidekiq with Redis
答案 2 :(得分:0)
对于后台作业,您需要额外的进程和队列存储(redis),大多数流行的库是: