首页 > 电子商城订单24小时自动取消如何实现?

电子商城订单24小时自动取消如何实现?

电子商城订单24小时自动取消如何实现?


建议开一个定时器任务,每隔一定时间间隔运行一次,查询DB的订单数据判断是否过期,然后更新订单表的某个字段。

其他的惰性方案基本都是在做订单操作的时候再进行判断,不过这个会侵入具体业务了。


定时脚本检测


将所有没有处理的订单放到一个队列中,对这个队列进行定时的遍历轮训,没有处理的自动取消。


我的想法是放入redis中,失效时间24小时,如果订单生成,写入库中,删除red is中的订单。

或者单独有张表纪录,定时扫表


  1. 将所有未处理的订单放入一个有序的队列中,按照先进先出,后进后出的规则排序
  2. 每隔相同的时间检查队列开头的那个订单,过期则取消订单,未过期则不处理
  3. 若有订单在24小时内被处理,则将此订单从队列中移除

是不是可以在需要用到这个订单的地方直接判断一下
24小时之前的是失效的

【热门文章】
【热门文章】