基于Rdisson实现延时队列,解决支付延时查单、关单方案
基于Rdisson实现延时队列,解决支付延时查单、关单方案1.需求2.实现方式3.具体代码
1.需求
下单支付后,支付回调因部分因素不可达,导致订单状态与微信支付状态不一致。此时需要服务端主动查询订单支付状态,进行更改订单状态。
2.实现方式
基于定时任务
每隔30秒启动一次,找出最近10分钟内创建并且未支付的订单,调用微信查单接口核实订单状态。系统记录订单查询的次数,在n次查询之后状态还是未支付成功,则停止后续查询,并调用关单接口关闭订单。
基于延时队列
每隔5秒/30秒/1分钟/3分钟/5分钟/10分
原创
2021-09-15 17:07:05 ·
2158 阅读 ·
7 评论