鍍金池/ 問答/PHP/ laravel如何處理有到期時間的業(yè)務(wù)邏輯?

laravel如何處理有到期時間的業(yè)務(wù)邏輯?

最近的項目在做團購功能,因為有到期時間,到期之后就必須判斷是否成團、用戶不能再操作。如果手動去設(shè)置是否成團、鎖定就可能不能準(zhǔn)時,導(dǎo)致產(chǎn)生錯誤數(shù)據(jù),一般這種情況應(yīng)該如何處理比較及時?如果用定時任務(wù)的話,感覺花銷有點大,而且也不一定到點就能執(zhí)行。有點急。。希望大神們可以解答一下~

回答
編輯回答
別硬撐

定時任務(wù) + 請求之前檢驗

1、定時每分鐘檢測 是否有到期的團購
2、有用戶訪問時,再次檢驗是否有到期的團購,更改狀態(tài),做邏輯處理

2017年2月1日 21:09
編輯回答
莫小染

新建一個計劃任務(wù)表
有任務(wù)類型,預(yù)定實行時間,任務(wù)參數(shù),實際執(zhí)行時間,執(zhí)行結(jié)果字段

cli模式運行php,每10秒檢測一次是否有任務(wù)執(zhí)行

團購入庫的時候把開團時間寫入任務(wù)表

2018年2月28日 10:37
編輯回答
不歸路

這個不存在什么問題吧?
數(shù)據(jù)最終是給人看的,如果人不看,更新也沒有意義。所以只要在用戶看之前更新就可以了,不用準(zhǔn)時去更新。
用戶打開團購頁面的時候,就讀一下數(shù)據(jù)庫,判斷是否過期了。
用戶參團操作時,就讀一下數(shù)據(jù)庫,判斷是否過期了。

2018年9月20日 11:06
編輯回答
半心人

隊列,queue().
在命令行上運行 php artisan queue:listen 后臺常駐。
具體的在手冊里找。

2017年12月29日 20:49