我們正在向web服務發出1000次請求。每次我們提出請求時,我們都會期待響應,但有時web服務會失敗並且不會提供響應。發生這種情況時,我們想睡30秒,然後在失敗的最後一點重新運行該循環。如何才能做到這一點?在特定條件下重做最後的foreach循環指令
這裏的基本結構:
foreach ($objects as $object) {
foreach ($otherObjects as $otherObject) {
//Prepare request data from $object and $otherObjects
//Send request to webservice using cURL
//Receive response and check to see if success
if (isset($response)) {
//Save response to database
} else {
//Not successful. Sleep for 30 seconds. Send request again up to 3 times. If ultimately successful continue, if not break and alert system admin.
}
}
}
邦納的回答也很好,但我選擇了這個答案,因爲邏輯流動性更好,並且更直觀易懂。 – TimNguyenBSM 2015-03-31 22:57:21