我希望相同的时间表从不同的豆荚运行顺序,而不只是一次在多个豆荚。
我有一个调度程序,每10分钟运行一次,并且设置Schedlock以避免并行运行。但是,使用这个库时,当其他荚试图运行时,它们会检查它是否已被锁定,然后不运行(也不按顺序运行)。我需要的是让其他的吊舱等待‘直到这些相同的作业被解锁,这样它们就可以按顺序运行,而不是仅仅因为作业被锁定而只运行一次。
例如:
Pod1
Job1: Locked
Pod2:
Job1: Don't run because are locked and finished the job
我需要的是:
Pod1
Job1: Locked
Pod
根据docs的说法,为了在Cassandra上使用ShedLock,我需要CqlSession来创建一个CassandraLockProvider。 但是,我总是得到以下错误: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.datastax.oss.driver.api.core.CqlSession' available: expected at least 1 bean which qualifies as autowire
下面的代码使用列lock_until TIMESTAMP(3)。代码插入systimestamp + 5 minutes,然后选择带有lock_until < systimestamp的所有行。我希望结果集中不会有行,因为lock_until是在将来,但是行是返回的。最可能的原因是我的本地时区是UTC+2,但我看不出这是怎么可能的。代码与current_timestamp一样工作,但我希望代码是客户端时区中立的。
jdbcTemplate.update("delete from shedlock where name = 'test'");
System.