我使用的是Shedlock4.22.0版和JDBC集成。我有一个配置类
@Configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")
public class ShedLockConfiguration {
@Bean
public LockProvider lockProvider(DataSource dataSource) {
return new JdbcTemplateLockProvider(dataSource);
}
}
对于执行,我使用注解@SchedulerLock.eg。
@SchedulerLock(name = "MyTask", lockAtMostFor = "PT1M", lockAtLeastFor = "PT1M")
一切都在本地PC上完美运行,但当应用程序部署在Kubernetes(AKS)上时,不会触发任何任务。日志为空。应用程序启动后什么都不做
我还将调试添加到了上的spring配置
logging:
level:
net.javacrumbs.shedlock: DEBUG
没有记录任何内容
2条答案
按热度按时间whlutmcx1#
执行应通过
@Scheduled
annotation触发。ShedLock只阻止并行任务执行,不调度任何内容。如果您有@Scheduled
注解,请检查数据库中的shedlock
表,如故障排除中所述。avwztpqn2#
我解决了这个问题。服务器上的时区有问题。由于本地PC上的时区不同,任务提前1小时锁定。我从shedlock表中删除了所有行