Java SpringBoot@每两次执行之间的计划随机延迟

Java SpringBoot@每两次执行之间的计划随机延迟,java,spring-boot,cron,Java,Spring Boot,Cron,我是SpringBoot的新手,尝试使用@Scheduled延迟执行特定任务。 我知道有一个fixedDelay参数可以设置为在一行中的两次执行之间有一个fixed延迟 我需要的是,是否在每两次执行之间设置一个随机延迟?(我的意思是每个延迟都是随机设置的,但没有将随机延迟设置为fixedDelay) 我能想到的是,在执行过程中使用fixedDelay,再加上随机的Thread.sleep(),但我觉得应该有一种更正确的方法来做到这一点。使用spring的api似乎无法实现这一点 最后,我制定了两

我是SpringBoot的新手,尝试使用@Scheduled延迟执行特定任务。 我知道有一个
fixedDelay
参数可以设置为在一行中的两次执行之间有一个fixed延迟

我需要的是,是否在每两次执行之间设置一个随机延迟?(我的意思是每个延迟都是随机设置的,但没有将随机延迟设置为fixedDelay)


我能想到的是,在执行过程中使用
fixedDelay
,再加上随机的
Thread.sleep()
,但我觉得应该有一种更正确的方法来做到这一点。

使用spring的api似乎无法实现这一点


最后,我制定了两个具有两个不同固定延迟的计划,并且两个计划都执行相同的任务,例如:第一个计划的延迟为27秒,而第二个计划的延迟为43秒,因此看起来目标任务的执行延迟是随机的,而不是固定的。

使用spring的api似乎无法实现这一点


最后,我制定了两个时间表,有两个不同的固定延迟,两个时间表执行相同的任务,例如:第一个时间表延迟27秒,第二个时间表延迟43秒,因此目标任务的执行似乎是随机延迟,而不是固定延迟。

这是否回答了您的问题@这是另一个问题。它只随机化初始延迟,而不是调用之间的延迟fixedDelayString@Lorelorelore不幸的是,根据我的测试,这仍然是一个固定的延迟,而不是一个随机的延迟,我的猜测是,表达式只计算一次,但不是每次它确定下一个延迟。是的,我想是这样的。。。也许你必须考虑其他方法来做你想做的事情,而不是使用预定的注释。这能回答你的问题吗?@这是另一个问题。它只随机化初始延迟,而不是调用之间的延迟fixedDelayString@Lorelorelore不幸的是,根据我的测试,这仍然是一个固定的延迟,而不是一个随机的延迟,我的猜测是,表达式只计算一次,但不是每次它确定下一个延迟。是的,我想是这样的。。。也许你必须考虑其他方法来做你想做的事情,而不使用预定的注释。