テストアカウントの作成を自動化するためにfacebookテストAPIを呼び出すスクリプトがあります。一見無作為な間隔で、50リクエスト後から6000リクエストまで、捕捉されない例外が発生します。私はエラーが何であるか把握する方法を失っているので、ここで関連するコードから始めます。ルビーのnet/httpリクエストラッパーでキャッチされていない例外
facebookキーにruby 1.8.7のURI.parseを破るパイプ文字があるため、私はURIライブラリを使用していません。
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
で
- @」nilのために:NilClass (NoMethodError)今まで見
誰でもこの未定義のメソッド ' - @'の前に?繰り返しますが、これは非常に断続的に起こりますが、私の側には本当の棘でした。これは常に、要求ラッパーを呼び出すコードの行を指しています。
ありがとうございます。
これはまさに正しいことでした。ありがとう! – ToneLoc