利用php cli和任務計畫實現訂單同步功能的方法

2022-10-06 06:48:12 字數 782 閱讀 2075

1、應用場景

(1)使用者遍歷,我們必須遍歷每個使用者,去獲取他們的訂單;www.cppcns.com

(2)定時獲取,獲取使用者訂單不是一勞永逸的,現在沒有不代表下一秒沒有,我們必須設定乙個合適的時間間隔去獲取他。

2、通過遍歷表來實現使用者遍歷

使用者遍歷的問題,我們可以通過把所有使用者放在一程式設計客棧個表裡,並且表裡有乙個自增id,我們計算出id的最大值,然後從0開始迴圈取id等於指定值的行出來,這樣可以實現遍歷整個表

3、定時獲取的方法**

(1)用死迴圈不斷執行fetch,間隔以sleep動作

考慮到當使用者多了以後,可能幾乎每時每刻都需要進行這樣fetch的動作,那麼是否還需要用任務計畫呢?為什麼不直接while(true)死迴圈呢?而且還可以配合以sleep動作。

這個方案沒考慮到的一點是,php是指令碼檔案,他不會自動垃圾**,貌似說也可以手動**,但總歸麻煩而且充滿不確定性。只要頁面執行完他就乾乾淨淨自己清掉了,所以,能簡單解決的事情不要用麻煩的方法。

(2)用任務www.cppcns.com計畫實現定時執行fetch,如果已經在執行則不做任何操作,直到下個計畫時間

這個方法還是用任務計畫,而且任務計畫很強大,預設就www.cppcns.com可以實現當前例項還在執行的時候不要啟動新例項。也就是說,如果乙個執行的動作,執行的時間超過任務計畫的間隔,那麼當下個任務啟動的時候,第乙個任務還沒執行完成,這種情況他自動不會重複執行。設定如下圖:

本文標題: 利用php-cli和任務計畫實現訂單同步功能的方法

本文位址: /wangluo/php/189650.html

利用計畫任務實現遊戲監控

任務計畫,又稱為計畫任務,是windows中可以定時執行預定任務的服務。利用任務計畫,可以讓計算機按照主人的計畫執行相應的程式 指令碼或者文件,如同乙個可以自動執行任務的 定時器 windows 7中,計畫任務面板所在的位置為 windows all programs accessories sys...

利用任務計畫和bat指令碼備份Mysql資料庫

rem 備份資料庫開始 echo off 注釋內容 計算昨天日期 網上抄的 set ye date 0,4 set mo date 5,2 set da date 8,2 set dg 1 set a vy1 ye 400 set a vy2 ye 4 set a vy3 ye 100 if vy1...

PHP實現任務計畫

當我們需要定時去執行某些程式任務的時候,如果人工操作,往往就會覺得操作起來不方便,或者就不是自動定時了,所以由程式去定時地執行乙個任務,這是最好的選擇,下面是php實現任務計畫的乙個例子 ignore user abort 即使client斷開 如關掉瀏覽器 php指令碼也可以繼續執行.set ti...