我已經設置了一個每天在Google App Engine上運行的腳本。它從數據庫獲取數據,並在一個循環中檢查數據,如果滿足某些條件,它將發送一封電子郵件到其獲取其他數據時獲得的定義的電子郵件地址。在極少數情況下,會出現此期限錯誤:PHP如何捕獲SendMail上的DeadlineExceededError以繼續執行腳本
PHP Fatal error: Uncaught exception 'google\appengine\runtime\DeadlineExceededError' with message 'The API call
mail.Send() took too long to respond and was cancelled.' in /base/data/home/runtimes/php/sdk/google/appengine/runtime/RealApiProxy.php:74
什麼我尋找簡單說就是:我如何捕獲這個異常,這樣我可以用腳本執行下去?由於它被定義爲一個例外,我相信使用
foreach ($data as $key => $value)
//code to check if email needs to be sent
try {
//send mail code
} catch (Exception $e) {
// handling code
}
}
,讓我來對付它,但作爲這個是關係到計時出的AppEngine例外,它聽起來不是我像一個try塊可以處理。那麼,這只是一個常規異常,上面的代碼將保證發生此錯誤時執行完整循環嗎?
並且任務將重試,因此即使發生錯誤,重試後仍應發送100封電子郵件。 –