1、應用場景
用戶的訂單情況,需要我們去平臺網站通過API獲取。有兩個要點:
(1)用戶遍歷,我們必須遍歷每個用戶,去獲取他們的訂單;
(2)定時獲取,獲取用戶訂單不是一勞永逸的,現在沒有不代表下一秒沒有,我們必須設定一個合適的時間間隔去獲取他。
2、通過遍歷表來實現用戶遍歷
用戶遍歷的問題,我們可以通過把所有用戶放在一個表里,并且表里有一個自增id,我們計算出id的最大值,然后從0開始循環取id等于指定值的行出來,這樣可以實現遍歷整個表
3、定時獲取的方法探討
(1)用死循環不斷執行fetch,間隔以sleep動作
考慮到當用戶多了以后,可能幾乎每時每刻都需要進行這樣fetch的動作,那么是否還需要用任務計劃呢?為什么不直接while(true)死循環呢?而且還可以配合以sleep動作。
這個方案沒考慮到的一點是,php是腳本文件,他不會自動垃圾回收,貌似說也可以手動回收,但總歸麻煩而且充滿不確定性。只要頁面執行完他就干干凈凈自己清掉了,所以,能簡單解決的事情不要用麻煩的方法。
(2)用任務計劃實現定時執行fetch,如果已經在執行則不做任何操作,直到下個計劃時間
這個方法還是用任務計劃,而且任務計劃很強大,默認就可以實現當前實例還在執行的時候不要啟動新實例。也就是說,如果一個執行的動作,執行的時間超過任務計劃的間隔,那么當下個任務啟動的時候,第一個任務還沒執行完成,這種情況他自動不會重復執行。設定如下圖:
以上這篇利用php-cli和任務計劃實現訂單同步功能的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。