2016-01-14 50 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

一個很好的解釋
相關問題