java 缓冲队列 定时_DelayQueue java自有延迟队列 实现单体业务定时或延迟执行

最近有很多业务给我们sql,我们需要一个个去配置上线,太麻烦了。我们做了一个通用单体项目给业务方,让他们自己在数据库配置sql,自己设置定时任务时间,自己去扫描执行。我们为了解析自有得一些时间配置。加入了这么个东西。主要用来实现类似定时任务一样的东西,只不过跟我们提供的交易日类型进行了个性化配置。相比xxl-job、quartz这些,更贴合我们业务。

其实个人理解昂,技术为业务服务,没有绝对优秀的技术,再优秀没有产生价值,对我们来说也仅仅是用来谈论的理想,而现实永远都是我们需要一点点的去实践和应用的。

4b50f114f0f74658773c57c503309357.png

将时间分割出来,再某一小时时间区间内,捞取要执行的语句,放入延迟队列,比如19:30要执行的语句,可以在19点定时任务扫描时,放入dealy,延迟30分钟执行。

存储一张执行记录表。执行延时区间可配置,执行时间可配置(定时任务没参数,默认当前时间)。执行任务发起后,延迟队列放入异步线程。

异步线程池配置:

d4e81a2de821fc8c585de62d057c95a9.png

线程池计算公式:

线程数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值