我使用的是带有JDBC intergation的Shedlock版本4.22.0。我有一个配置类
@Configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")public class ShedLockConfiguration {
public class ShedLockConfiguration {
@Bean
public LockProvider lockProvider(DataSource dataSource) {
return new JdbcTemplateLockProvider(dataSource);
}
}为了执行,我使用了注解@SchedulerLock。
@SchedulerLock(name = "MyTask", lockAtMostFor = "PT1M", lockAtLeastFor = "PT1M")一切都在本地PC上完美运行,但当应用程序部署在Kubernetes (AKS)上时,不会触发任何任务。日志是空的。启动后的应用程序不执行任何操作
我还在spring配置中添加了debug。
logging:
level:
net.javacrumbs.shedlock: DEBUG未记录任何内容
发布于 2021-03-23 14:50:18
执行应该由@Scheduled annotation触发。ShedLock只阻止并行任务的执行,它不会调度任何东西。如果有@Scheduled注释,请按照troubleshooting中的说明检查数据库中的shedlock表。
发布于 2021-03-24 16:35:51
我解决了问题。问题出在服务器上的时区。由于我本地PC上的时区不同,任务被提前1小时锁定。我删除了shedlock表中的所有行
https://stackoverflow.com/questions/66754012
复制相似问题