mak*_*nai 5 ruby twitter eventmachine
我正在研究使用EventMachine驱动的twitter-stream rubygem来跟踪和捕获推文.我对整个编程事物都很陌生.如何判断我在事件循环中正在进行的处理是否会导致我落后?有一种简单的方法可以检查吗?
您可以使用定期计时器并打印已用时间来确定延迟.如果你使用1秒的计时器,你应该有大约1秒的时间,如果它更大,你就知道你减慢了反应堆的速度.
@last = Time.now.to_f
EM.add_periodic_timer(1) do
puts "LATENCY: #{Time.now.to_f - @last}"
@last = Time.now.to_f
end
Run Code Online (Sandbox Code Playgroud)
EventMachine 有一个EventMachine::Queue.size方法可以让您查看当前队列并了解它有多大。
在这种情况下,您可以add_periodic_timer()获取队列的大小并打印它。
如果这个数字没有变小,那么你们就处于平等状态。如果它上升,你就落后了。