为了账号安全,请及时绑定邮箱和手机立即绑定

电商系统的订单定时任务如何处理更好?

电商系统的订单定时任务如何处理更好?

慕标5832272 2019-03-01 10:42:40
目前公司的一个电商系统的订单在不同状态下会有不同的定时任务,如:下单后如果商家不审核多少时间后自动审核; 审核后多少时间后不支付自动关闭订单等等还有几种状态,目前这些定时任务的实现是两种方式配合: quartz定时任务每隔半小时自动扫订单表处理。 对某个订单进行操作时触发状态判断,进行响应操作。 目前这两种方式结合能满足业务需求,但总觉得不是太好,所以想请教大家一般都是怎么做的,或者有什么好的案例实践?还有有没有能够动态生成定时任务并能准时执行的方案?谢谢。
查看完整描述

9 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

不好意思,木有太好的思路哎,目前采取第一种方法和第二种方法同时用会多一些。

另外两个答主提到的延迟队列,怎么满足楼主的需求呢,我也没看明白

查看完整回答
反对 回复 2019-03-01
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你这两种方案实时性非常的不好,

  1. 消息队列的延迟队列,如楼上有人说的,用这个解决比较好,优点他也说完了..
  2. 有一种算法叫时间轮算法, 可以更加精细的做延迟任务..但是这个比用延迟队列来搞麻烦的多,所以还是推荐延迟队列
查看完整回答
反对 回复 2019-03-01
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

定时扫描数据表,再怎么优化也不会好的,还是先把订单信息放入redis等nosql中,然后根据状态的不同剔除或者改变数据的状态,改成定时扫描nosql

查看完整回答
反对 回复 2019-03-01
?
手掌心

TA贡献1942条经验 获得超3个赞

Beanstalkd

查看完整回答
反对 回复 2019-03-01
?
倚天杖

TA贡献1828条经验 获得超3个赞

延时队列,还有java DelayQueue当然还是延时队列好一点,用queue没有持久化 还得自己做补充逻辑

查看完整回答
反对 回复 2019-03-01
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

目前我们系统在使用阿里云的消息服务。支持定时发送。

查看完整回答
反对 回复 2019-03-01
  • 9 回答
  • 0 关注
  • 1601 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信