我有一個腳本,調用Facebook測試api自動化測試帳戶創建。從看似隨機的時間間隔,從50次請求到6000次請求之後,我得到一個未被捕獲的異常。我對如何找出錯誤是無法理解的,所以我將從這裏的相關代碼開始。未捕獲的異常與紅寶石淨/ http請求包裝
我沒有使用URI庫,因爲facebook鍵的管道字符會破壞ruby 1.8.7的URI.parse。
require 'rubygems'
require 'net/https'
require 'json'
http = Net::HTTP.new(domain, 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
def request_wrapper(http, request)
retry_count = 5
begin
return http.request(request)
rescue Exception => e
retry_count--
if retry_count < 0
raise e
end
retry
end
for i in 0..500 do
request = Net::HTTP::Get.new('https://' + domain + path)
response = request_wrapper(http, request)
end
的代碼將工作一段時間,但總免不了報告如下:
在
rescue in request_wrapper': undefined method
- @」的零:NilClass (NoMethodError)
沒有人見過這個未定義的方法' - @'之前?再一次,這種情況非常間歇性地發生,但它是我身邊真正的刺。它總是指向我調用請求包裝器的代碼中的行。
感謝您的關注。
完全正確!謝謝! – ToneLoc 2012-03-15 17:13:01