我正在开发一个将 XML 发布到一些 web 服务的小型应用程序。这是使用 Net::HTTP::Post::Post 完成的。但是,服务提供商建议使用重新连接。
类似于:第一个请求失败-> 2 秒后重试第二个请求失败-> 5 秒后重试第三个请求失败-> 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)}
非常感谢,永远感谢您的支持。
马特