做一個(gè)分鐘級(jí)的靈活自定義定時(shí)處理方法

開(kāi)局一張圖,內(nèi)容全靠編?。?!

小編最近遇到一個(gè)需求(環(huán)境LNMP),分鐘級(jí)定時(shí)處理任務(wù),還能自定義增減數(shù)據(jù)的數(shù)量以及開(kāi)關(guān)啟動(dòng)。

說(shuō)完之后,小伙伴們是不是有思路了呢,當(dāng)然方法有很多的,我先給大家列出來(lái),之后大家選擇性去做。

(1)守護(hù)進(jìn)程,寫(xiě)一個(gè)PHP腳本,死循環(huán)(while(true)),一直監(jiān)聽(tīng),然后能寫(xiě)一個(gè)sleep睡上自定義的時(shí)間進(jìn)行處理

(2)那就要swoole上場(chǎng)了,有一個(gè)秒級(jí)的定時(shí)任務(wù),當(dāng)然這個(gè)還需要安裝swoole擴(kuò)展,有條件的小伙伴可以試試

(3)這個(gè)是我實(shí)現(xiàn)的思路(crontab),linux原聲的處理方法,當(dāng)然這個(gè)只能設(shè)置分鐘級(jí)(但是已經(jīng)完全符合我的需求了)

那在下就出招了:

首先我們寫(xiě)一個(gè)配置方法,專門(mén)用來(lái)設(shè)置幾分鐘執(zhí)行一次,處理多少條數(shù),是否開(kāi)啟

之后我們就要寫(xiě)一個(gè)處理方法

其中status就是開(kāi)關(guān)的狀態(tài),1就是開(kāi)啟,0就是關(guān)閉,之后還有一個(gè)time字段,這個(gè)就是做時(shí)間處理的,比如設(shè)置了3分鐘執(zhí)行一次,那么就在配置里面time字段設(shè)置當(dāng)前時(shí)間加上3分鐘之后,這樣就能滿足需求,當(dāng)然下面的邏輯根據(jù)你的實(shí)際需求完全可以自定義處理。

比如我們查詢處理多少條,或者處理哪些數(shù)據(jù),我們都可以在配置那里進(jìn)行配置,之后查詢配置條件,進(jìn)行處理對(duì)應(yīng)的數(shù)據(jù)。

最后就是在linux里面配置crontab了

當(dāng)然了,這個(gè)只是一個(gè)簡(jiǎn)單的示例,海量級(jí)數(shù)據(jù),需要怎么處理,還是需要大家自己進(jìn)行思考來(lái)做業(yè)務(wù)處理,這個(gè)暫時(shí)比較適合中少量數(shù)據(jù)處理

最后偷偷問(wèn)一句,你們開(kāi)工了嗎?

了解更多

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容