以前我們的 Queue 就像大學福利社排隊:大家一窩蜂衝上去,沒秩序、沒優先權。
今天總算下定決心,把它重構,變成有「優先序」的專業排隊系統。
畢竟通知不是每條訊息都一樣重要,有的急、有的能等,得靠演算法來分流。
今天的 commit 大致可以分成幾個 milestone:
優先序設計
priority
欄位(low | normal | high)。urgent
被幹掉,因為誰都覺得自己 urgent。最後統一三層:低、中、高。Redis 三層佇列實作
high
→ normal
→ low
,就像三明治的麵包層層堆疊。舊系統清理
ActorPoolV2
更名回 ActorPool
,乾淨俐落。failed_notifications
的舊引用,避免 Zombie Code 滯留。文件與 API 更新
validate
端點,減少無謂維護成本。今天重構完,回頭想想,其實「Queue 排隊」就跟人生一樣:
最難的不是寫程式,而是 決定誰該優先。
這其實就是一種 產品哲學:做選擇、立規則、然後堅持下去。
high
爆滿,normal
和 low
會不會餓死?✍️ Day19 收工感言
今天的重構就像幫便利商店安裝「自助收銀」:
再也不是大家急著塞給店員,而是按優先序一個一個處理。
系統看起來乾淨多了,心情也清爽。
只不過,我現在有點擔心:
如果全部人都標 high
,這不就回到福利社時代了嗎? 🤣