我在PHP`(5.2)的貝寶IPN處理程序,處理事務和存儲日期在MySQL數據庫中。該網站的活動較少。
偶爾MySQL查詢失敗。 (很少)我記錄了一切,如果PayPal消息未能得到處理,我可以查看我的日誌文件並重新發送PayPal消息。
思想/關注
但我想知道如果我可以做的過程有點更強大,而不是有放棄之前的處理器重新嘗試MySQL查詢。
我可能想等一下 - 不要立即敲擊多個查詢嘗試。
我希望能找到一些模式 - 尋找像「php mysql query retry」這樣的東西,但沒有太多的成功。
問題
是否有良好的實踐指南爲這個?
現有庫?
是一個簡單的循環和
sleep
之間每個查詢嘗試好,或可以有不良副作用?太原生了嗎?
爲什麼不在查詢後檢查錯誤,如果爲真則重試?另一種方法只是將這個查詢標記爲「已撤消」,然後cron作業將使所有「未被採納」的數據運行並每隔幾分鐘重新執行一次。 – stasgrin
所以你說在失敗的查詢後立即重試? – thomthom
至於cron作業 - 我會創建一種方法來恢復剩餘事務的處理。這不僅僅是一個單一的查詢 - 而是來自前一個數據的多個集合和一些回覆。 – thomthom