Spring Boot 定时器 系统时间测试

A:Spring Boot写的定时器, 或者说,所有框架下的定时器,如果是是按照间隔时间,也就是【每多长时间执行一次】的话,很好测试,那如果是按照【每月1号某时刻】【每季度最后一天某时刻】【每年最后一天某时刻】,要怎么测试呢,总不能干等吧?!

B:可以修改代码所在服务器的系统时间进行模拟。

A:我试过了,没有效果。

B:你是先部署的还是先修改时间的呢?

A:系统已经部署好了,我直接改的时间,难道这和先后顺序还有关系?

B:有的。在系统部署的时候,定时器会记录任务时间与当前时间的差值,然后根据差值启动任务,所以想要通过修改系统时间来测试定时器的话,需要重启项目

A:好的,了解了

 

---------------------------------------

B的最后一条解释,网上找的,原理大概是靠谱的,等有时间,可以仔细研究一下,但是修改系统时间后重启项目确实是有效的

 

posted @ 2021-06-10 10:26  代码羡  阅读(232)  评论(0编辑  收藏  举报