请教关于Quartz/crontab/Timer定时执行任务的准确性

发布于 2021-11-18 17:17:40 字数 293 浏览 965 评论 5

项目中需要用到定时任务,并且对时间准确性要求比较高。

所谓的时间准确性是:例如我在00:00:30第一次启动了这个定时任务,任务本身执行时间大概5~120秒钟左右,并且我设置这个任务的执行频率是5分钟。

但是使用java.util.Timer的话,跑上十几天后,任务的触发时间可能变成了00:01:27执行了。。。

而且我发现使用linux/unix系统下的crontab调度的时候,也会出现类似的情况,quartz的还没测试过。

有人遇到过类似的问题吗?大家是怎么解决的呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

回忆凄美了谁 2021-11-23 04:42:57

写个脚本定时与国际标准时间同步,就不会出现太大的误差了。

自此以后,行同陌路 2021-11-23 02:46:54

写个sh,crontab设定每月1号凌晨00:05之前执行一次,sh执行前先检测有没原先那个进程在跑,没的话,就跑一次。原先的sh也做个检测,不要两个一起跑。

感情旳空白 2021-11-23 00:20:51

你那个5分是java定时器里面设定的间隔时间?
本身java这个时间就不是绝对精确的,5分偏差一点,时间一长,自然变这样。
量变引起质变。
每次也就5分上下一点点的时间,对于你的5分就那么重要?
linux里的crontab用*/5,我还没发现有偏差那么厉害的。

别再吹冷风 2021-11-21 21:07:27

你那个5分是java定时器里面设定的间隔时间?
本身java这个时间就不是绝对精确的,5分偏差一点,时间一长,自然变这样。
量变引起质变。
每次也就5分上下一点点的时间,对于你的5分就那么重要?
linux里的crontab用*/5,我还没发现有偏差那么厉害的。

酷到爆炸 2021-11-20 15:47:49

顶一下,有人有类似经验吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文