XML を Web サービスにポストする小さなアプリケーションを開発しています。これは、Net::HTTP::Post::Post を使用して行われます。ただし、サービス プロバイダーは再接続を使用することを推奨しています。
次のようなもの: 最初の要求が失敗する -> 2 秒後に再試行する 2 番目の要求が失敗する -> 5 秒後に再試行する 3 番目の要求が失敗する -> 10 秒後に再試行する ...
それを行うための良いアプローチは何ですか?次のコードをループで実行し、例外をキャッチして、しばらくしてから再度実行しますか? または、それを行うための他の賢い方法はありますか?もしかしたら、Net パッケージには、私が気付いていない機能が組み込まれているのでしょうか?
url = URI.parse("http://some.host")
request = Net::HTTP::Post.new(url.path)
request.body = xml
request.content_type = "text/xml"
#run this line in a loop??
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}
ありがとうございます、いつも応援ありがとうございます。
マット