专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
今天看啥  ›  专栏  ›  ImportNew

一个订单 30 分钟未支付自动取消功能,有 5 种实现方案?

ImportNew  · 公众号  · Java  · 2023-11-08 22:56
    

文章预览

(给 ImportNew 加星标,提高Java技能) 引言 在开发中,往往会遇到一些关于延时任务的需求。例如: 生成订单 30 分钟未支付,则自动取消; 生成订单 60 秒后,给用户发短信。 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。 那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别: 定时任务有明确的触发时间,延时任务没有; 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期; 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务。 下面,我们以判断订单是否超时为例,进行方案分析。 一、数据库轮询 思路 该方案通常是在小型项目中使用,即通过一个线程定时的去扫描数据库,通过订单时间来判断是否有超时的订单,然后进行 update ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览