本文主要是介绍Java:定时任务无法正常执行(scheduling + ShedLock),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 一、场景
- 二、代码片段
- 三、排查
- 四、原因
- 五、解决
一、场景
1、使用定时任务(scheduling
) + 分布式锁(ShedLock
)定期执行一段代码
2、configureTasks()
对于任务执行周期的更新是正常的
3、但任务方法
无法被执行
二、代码片段
三、排查
1、确认Trigger没有问题
2、查看redis,看是不是该任务加锁时间还没过
发现该任务的分布式锁确实有问题,加锁时长居然还有14800000秒
代码中加锁时长为:PT30S
(30秒)
redis中的异常过期时间,可能是先前更改服务器日期导致(未验证)
四、原因
ShedLock分布式锁过期时间出现异常
五、解决
删除redis中ShedLock异常的分布式锁
这篇关于Java:定时任务无法正常执行(scheduling + ShedLock)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!