目前需要讀取第三方介面數據,數據量比較大,第三方才用了分頁的方式,目前我的方案是,在循環中調用curl讀取接口的方法,再把json數據轉換為數組,在拼接數組,進行資料篩選過濾入庫操作,但是由於第三方介面不穩定,可能會造成讀取失敗。請問是否有更好的方案?
目前需要讀取第三方介面數據,數據量比較大,第三方才用了分頁的方式,目前我的方案是,在循環中調用curl讀取接口的方法,再把json資料轉換為數組,在拼接數組,進行資料篩選過濾入庫操作,但由於第三方介面不穩定,可能會造成讀取失敗。請問是否有更好的方案?
如果資料量很大的話,可以採用定時腳本去拉取。
拉取的時候先依照一個例如自增id的欄位排序,這樣避免分頁資料變動的問題。
接著腳本執行的時候或是循環一次結束的時候,把最大的id記下來,然後下次執行的時候帶上大於這個值的條件咯。
然後腳本執行的時候,出現介面呼叫失敗,可以嘗試重新拉取幾次,失敗的話,同樣停止腳本執行,然後記下id,然後給預警訊息,人工幹預。
額,簡單的想法
1,建議建立抓取原始資料庫,id也好md5也好,確保單資料抓取唯一性
2,介面不穩定,透過異常處理curl失敗處理等方式,盡可能確保抓取資料成功
3,做好重複抓取資料的準備,基於1,確保資料不會被重複處理
以上就是帶分頁介面循環讀取的最優方案是哪種的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!