客戶預定某個時間段場地,等這個時間段結束之后,自動扣除用戶余額,用定時器不太保險,有沒有其他解決方案?
uj5u.com熱心網友回復:
為什么定時器不保險?如果不使用定時器,只能使用執行緒阻塞(Sleep)模式,這種方式更不保險。uj5u.com熱心網友回復:
使用佇列,加標識。充值 和提現這塊用得多。不會有問題的 。只 要 時間點內 任意執行一次就好子。不要且塞,占記憶體。
uj5u.com熱心網友回復:
不保險的原因是什么?知道原因就去解決就好了.有個參考例子,物聯網常用的Mqtt協議,協議有三種訊息可達性保證方式,一種是至少發送成功一次,一種是最多發送一次,還有一種是確保發送成功且僅發送一次.這個實作中就包含了如何解決不保險的邏輯,可以研究下.
uj5u.com熱心網友回復:
定時器不保險?如何得出這個結論的?不想用定時器你就用系統自帶的任務計劃或者直接資料庫作業去操作吧uj5u.com熱心網友回復:
可以用觸發啊,比如用戶checkout的時候結算uj5u.com熱心網友回復:
hangfire,quartz,在預定時,通程序式創建trigger,觸發時間設定為任務完成后uj5u.com熱心網友回復:
業務大于技術,先找業務商量好規則。然后才是技術。單純技術上,計劃任務,分布式快取依賴(過期通知)都行。
但也許業務上會說,我本來就每天夜核過賬。你本來就要每天做日常日結任務,啥技術都瞎。反正每天都做,那還存在啥計劃么?
uj5u.com熱心網友回復:
Quartz.NET + MQ,可以保證扣款肯定執行轉載請註明出處,本文鏈接:https://www.uj5u.com/net/175513.html
標籤:C#
上一篇:庫存管理表 如何實作庫存的出庫
