我們有一臺設(shè)備安裝在商家店門口,用戶通過設(shè)備下單到商家平臺,然后商家那邊訂單狀態(tài)大約有10種,不確定訂單狀態(tài)的更新時間。
1.下單接口(下單成功只返回用戶手機(jī)號,一個手機(jī)號可以下很多單)
2.訂單當(dāng)前狀態(tài)接口(通過手機(jī)號查詢,返回當(dāng)前手機(jī)號所有未完成訂單的當(dāng)前狀態(tài),已完成的不返回。如果所有訂單完成,那么這個接口就會返回空)。
獲取所有下單手機(jī)號,對應(yīng)的訂單每個時間段的狀態(tài)信息,并存儲。
通過動態(tài)添加Timer方式,查詢下單后傳遞過來的手機(jī)號對應(yīng)的所有當(dāng)前訂單狀態(tài)。
但是由于數(shù)據(jù)量大(3000個客戶端),創(chuàng)建太多的timer,而且每次傳遞的手機(jī)號可能已經(jīng)在timer中查詢。
小白請教各位大佬有沒有更好的方案?
把手機(jī)號丟到隊列里,隊列多線程執(zhí)行,每個線程批量一些手機(jī)號,比如線程1是1~10 線程2是11~20,然后自己循環(huán)著玩,這個手機(jī)號操作完再塞到隊列里等下一次執(zhí)行
大致思路,具體細(xì)節(jié)需要自行優(yōu)化
用Linux自帶的crontab,一分鐘一次,不一定非要用Webman的Timer
當(dāng)然你如果要記錄訂單的每一次狀態(tài)變更時間,那就當(dāng)我沒說,我這個不適合