架構(gòu)背景:
瀏覽器/app <-- http -> Web請求處理層 <-- RPC --> Workerman-RPC業(yè)務(wù)邏輯處理層
業(yè)務(wù)說明:
數(shù)量一定的商品,用戶需要對該商品預(yù)約下單購買,預(yù)約成功后必須在30min內(nèi)支付購買。用戶預(yù)約后,商品對外供應(yīng)數(shù)量減少1;當(dāng)用戶在30min時限內(nèi)沒有支付購買,商品對外供應(yīng)數(shù)量恢復(fù)1。
實(shí)現(xiàn):
上述業(yè)務(wù)邏輯在 Workerman-RPC框架的的Order服務(wù)實(shí)現(xiàn);當(dāng)用戶預(yù)約成功后,是否可以在Order服務(wù)內(nèi)通過Timer::add()添加一個定時器,30min后來處理 “用戶在30min時限內(nèi)沒有支付購買,商品對外供應(yīng)數(shù)量恢復(fù)1。” 的邏輯。
另外對于Timer阻塞進(jìn)程有個疑問: Timer本身并不會阻塞進(jìn)程,只是Timer觸發(fā)的任務(wù)會阻塞進(jìn)程?