訂單退款與退款失敗任務重試

1.系統老退款步驟
用戶提交退款申請->校驗後執行退款相關處理->處理結果反饋。

2.系統現有退款步驟
用戶提交退款申請->簡單處理反饋->發送退款消息做複雜處理->最終結果反饋

3.改進後退款步驟
退款任務
用戶提交退款申請->簡單校驗處理->在task表中生成任務記錄,新增status爲RUNING,同時發消息退款消息->消息消費者監聽消息,處理退款操作->處理成功,更改task表中status爲SUCCESS。處理失敗更改task表中status爲INIT。

異步task1
定期掃描task表中status,發現status爲INIT的並且retry_times字段沒有超過限制,取出處理(發消息),消息消費端發現已經成功->更改task表狀態爲SUCCESS。處理失敗,若已達到最大重試次數限制,更改status爲FAIL,否則不變。

異步task2
定期掃描task表中已成功任務,若時間已經久遠,則批量刪除,並打印已刪除記錄日誌。

有更好的方法歡迎溝通交流撒~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章