目录
- 一、场景
- 二、代码片段
- 三、排查
- 四、原因
- 五、解决
一、场景
1、使用定时任务(scheduling
) + 分布式锁(ShedLock
)定期执行一段代码
2、configureTasks()
对于任务执行周期的更新是正常的
3、但任务方法
无法被执行
二、代码片段
三、排查
1、确认Trigger没有问题
2、查看redis,看是不是该任务加锁时间还没过
发现该任务的分布式锁确实有问题,加锁时长居然还有14800000秒
代码中加锁时长为:PT30S
(30秒)
redis中的异常过期时间,可能是先前更改服务器日期导致(未验证)
四、原因
ShedLock分布式锁过期时间出现异常
五、解决
删除redis中ShedLock异常的分布式锁