2016-01-14 26 views
2

我正在实现一个从Web API中检索信息的类。它将XML返回给HTTPS GET请求。我正在使用curl处理请求,并希望在发生错误时重试它以使其更加健壮。哪些错误应该对Web API请求进行重试?

我目前正在重试(最多3次)所有卷曲错误和HTTP错误500,但我想知道这是否是最好的方法。

那么,我应该为我的API请求重试哪些curl和http错误?最佳做法是什么?

回答

1

我会说不要在500错误重试。这在API方面存在一些错误,并且不太可能改变(至少在几秒钟内)。

如果您真的想重试某些响应,请在超时时间内执行此操作,即。 408504。可能是因为服务器接收到的请求比它能处理的要多,并且等待几秒钟再试一次可能是值得的。

1

我不同意大约500个错误。例如,Mailgun API已经返回间歇性421和500错误,并且重试可能会成功。既然你只是尝试了几次,错误应该是罕见的,你也可以尝试更多的尝试。

我会重试这些HTTP错误:

408,421,429,500,502,503,504

有什么样的代码意味着HERE

一个很好的解释
相关问题