【发布时间】:2015-10-23 07:34:32
【问题描述】:
我使用 Rails 和 Rollbar 来跟踪错误并使用 Resque 来处理延迟的任务。我的一名工人在 resque GUI 中因以下错误而失败:
Net::ReadTimeout
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/protocol.rb:152:in `rbuf_fill'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/protocol.rb:144:in `readline'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_line'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:1412:in `block in transport_request'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:1409:in `catch'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:1409:in `transport_request'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:1382:in `request'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:1283:in `request_get'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:479:in `block in get_response'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:852:in `start'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:582:in `start'
/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/net/http.rb:477:in `get_response'
/app/app/services/get_json.rb:4:in `call'
/app/app/models/imdb.rb:9:in `data'
/app/app/models/customer.rb:92:in `imdb_data'
/app/app/models/customer.rb:60:in `get_external_data'
/app/app/models/customer.rb:13:in `scan'
/app/app/models/shop.rb:110:in `block in bulk_scan'
/app/app/models/shop.rb:101:in `each'
/app/app/models/shop.rb:101:in `bulk_scan'
/app/app/workers/bulk_scanner.rb:9:in `perform'
但是,查看有关失败的更多可靠信息会非常有帮助。例如。参数是什么。通常我将 Rollbar 用于此类事情,但由于某种原因它似乎没有记录此错误。
我将如何修复这个错误?因为我真的不知道是什么触发了它? (我的工作人员基本上是在循环使用不同用户的一大堆 API 调用,我不知道哪个失败了)
【问题讨论】:
-
嘿杰克逊,这是在我们之前谈话之前还是之后?我很乐意为您解决这个问题。
标签: ruby-on-rails resque