我正在实现一个从Web API检索信息的类。它将XML返回给HTTPS GET请求。我正在使用curl来处理请求,并希望它在出现错误时重试以使其更加健壮。
我目前正在重试(最多3次)所有卷曲错误和HTTP错误500,但我想知道这是否是最佳方法。
那么我应该针对我的API请求重试curl和http错误?什么是最佳做法?
答案 0 :(得分:1)
我会说不要重试500
错误。这是API方面的一些错误,并且不太可能改变(至少在几秒钟内)。
如果您真的想重试一些回复,请在超时时进行,即。 408,504。它可能是服务器接收的请求超出了它可以处理的数量,等待几秒钟再试一次可能是值得的。
答案 1 :(得分:1)
我不同意500个错误。例如,Mailgun API已经返回间歇性的421和500错误,重试可能会成功。由于您只尝试了几次并且错误应该很少,所以当您得到错误时,您可能会做出更多尝试。
我会重试这些HTTP错误:
408,421,429,500,502,503,504
对代码的含义有一个很好的解释HERE