最近有很多业务给我们sql,我们需要一个个去配置上线,太麻烦了。我们做了一个通用单体项目给业务方,让他们自己在数据库配置sql,自己设置定时任务时间,自己去扫描执行。我们为了解析自有得一些时间配置。加入了这么个东西。主要用来实现类似定时任务一样的东西,只不过跟我们提供的交易日类型进行了个性化配置。相比xxl-job、quartz这些,更贴合我们业务。
其实个人理解昂,技术为业务服务,没有绝对优秀的技术,再优秀没有产生价值,对我们来说也仅仅是用来谈论的理想,而现实永远都是我们需要一点点的去实践和应用的。
将时间分割出来,再某一小时时间区间内,捞取要执行的语句,放入延迟队列,比如19:30要执行的语句,可以在19点定时任务扫描时,放入dealy,延迟30分钟执行。
存储一张执行记录表。执行延时区间可配置,执行时间可配置(定时任务没参数,默认当前时间)。执行任务发起后,延迟队列放入异步线程。
异步线程池配置:
线程池计算公式:
线程数