0

我正在使用带有 JDBC 集成的 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) 上时,不会触发任何任务。日志是空的。启动后的应用程序什么也不做

我还添加了调试到弹簧配置

logging:
  level:
    net.javacrumbs.shedlock: DEBUG

没有记录任何内容

4

2 回答 2

1

执行应由@Scheduled 注释触发。ShedLock 只阻止并行任务执行,它不安排任何事情。如果您有@Scheduled注释,请按照疑难解答shedlock中的说明检查数据库中的表。

于 2021-03-23T06:50:18.020 回答
0

我解决了问题。问题出在服务器上的时区。由于我本地 PC 上的时区不同,任务提前 1 小时锁定。我从 shedlock 表中删除了所有行

于 2021-03-24T08:35:50.877 回答