进击的丸纸
2021-01-21 16:14
采纳率: 100%
浏览 518
已采纳

SpringBoot定时任务未按规定时间执行

使用@Scheduled执行定时任务后,定时任务未在规定时间执行。

场景描述:生成订单号,从redis取值。每天零点将redis中的单号置0。

发现报错以下信息后,执行了定时任务

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

12条回答 默认 最新

  • 暴躁码农 2021-01-22 17:02
    已采纳

    spring自带的定时任务只能单机用,集群会出现重复执行的情况,所以这么问。

    要么时间没取对,要么就是被阻塞了,延迟执行了一会。

    点赞 打赏 评论
  • TheWaSaiBoy 2021-01-21 16:23

    这个错误跟定时任务有啥关系啊。

    点赞 打赏 评论
  • 三石喽 2021-01-21 16:33

    楼上+1

    点赞 打赏 评论
  • blackomen丶 2021-01-21 16:35
    点赞 打赏 评论
  • 进击的丸纸 2021-01-21 18:55

    我的定时任务在这个连接关闭后执行了,两者之间没有联系吗。定时任务的定时时间是没有写错的,每天0点都会执行,偶尔会在未定时的时间执行,没有其他人调用这个方法。

    点赞 打赏 评论
  • TheWaSaiBoy 2021-01-22 09:41

    那个定时任务只跟你写的时间规则有关吧,如果是没有在预想的时间执行那就是你规则没写对。

    点赞 打赏 评论
  • 进击的丸纸 2021-01-22 14:07

    时间没有问题

    点赞 打赏 评论
  • 暴躁码农 2021-01-22 14:48

    是不是部署了集群?服务器时间是不是对的?

    点赞 打赏 评论
  • 进击的丸纸 2021-01-22 15:19

    redis部署了集群,服务器时间是对的

    点赞 打赏 评论
  • 进击的丸纸 2021-01-22 15:20

    我们公司用的是redisson,这是配置

    点赞 打赏 评论
  • TheWaSaiBoy 2021-01-22 17:02

    你这个错误是大概率是redis的io错误。

    点赞 打赏 评论
  • 暴躁码农 2021-01-22 17:03

    如果定时较多,还是建议引入Quartz

    点赞 打赏 评论

相关推荐 更多相似问题