我正在尝试使用 Shedlock 在集群环境中运行计划任务。但是在我添加@EnableSchedulerLock 注释的那一刻,调度程序任务根本没有启动。
我看到我需要提供 LockProvider。我在集群环境中使用 Redis/Lettuce,但没有看到与生菜棚的集成。
有没有办法我仍然可以使用 Shedlock ?
我的 Maven 依赖项是:
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId>
<version>4.24.0</version>
</dependency>
主要的 Spring 应用程序是
@SpringBootApplication
@EnableSchedulerLock(defaultLockAtMostFor = "10s")
public class MainApplication {
....
计划任务类
@Component
@EnableScheduling
public class SchedulerTask {
@Scheduled(fixedRate = 3000)
@SchedulerLock(name = "scheduledTaskPods", lockAtMostFor = "5s", lockAtLeastFor = "2s")
public void populateDatacenterPods() {
LockAssert.assertLocked();
System.out.println("This is a schedule test");
}
}