首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ShedLock -不在Kubernetes上执行

ShedLock -不在Kubernetes上执行
EN

Stack Overflow用户
提问于 2021-03-23 05:21:39
回答 2查看 101关注 0票数 0

我使用的是带有JDBC intergation的Shedlock版本4.22.0。我有一个配置类

代码语言:javascript
复制
@Configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")public class ShedLockConfiguration {
public class ShedLockConfiguration {
   @Bean
   public LockProvider lockProvider(DataSource dataSource) {
        return new JdbcTemplateLockProvider(dataSource);
   }
}

为了执行,我使用了注解@SchedulerLock。

代码语言:javascript
复制
@SchedulerLock(name = "MyTask", lockAtMostFor = "PT1M", lockAtLeastFor = "PT1M")

一切都在本地PC上完美运行,但当应用程序部署在Kubernetes (AKS)上时,不会触发任何任务。日志是空的。启动后的应用程序不执行任何操作

我还在spring配置中添加了debug。

代码语言:javascript
复制
logging:
  level:
    net.javacrumbs.shedlock: DEBUG

未记录任何内容

EN

回答 2

Stack Overflow用户

发布于 2021-03-23 14:50:18

执行应该由@Scheduled annotation触发。ShedLock只阻止并行任务的执行,它不会调度任何东西。如果有@Scheduled注释,请按照troubleshooting中的说明检查数据库中的shedlock表。

票数 0
EN

Stack Overflow用户

发布于 2021-03-24 16:35:51

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66754012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档