Bugsnag报告说,生产中不时会出现IO::EAGAINWaitReadable
异常。
IO::EAGAINWaitReadable: Resource temporarily unavailable - read would block
通过HTTParty在HTTP请求上引发异常,最终导致Ruby 2.1.3中的net/protocol.rb:153:in read_nonblock
。
为什么我会IO::EAGAINWaitReadable
?为什么有时HTTP请求会阻塞?为什么不让他们阻止,这是什么交易?
答案 0 :(得分:0)
处理IO::EAGAINWaitReadable
的最常用方法是:
begin
result = io.read_nonblock(maxlen)
rescue IO::EAGAINWaitReadable
IO.select([io])
retry
end
所以可以在没有选择端口的情况下做到这一点,但更好的选择,因为它是在示例中。另外,您可以查看有关如何将WaitReadable
另外捕获到指定内容的SO answer。