当前位置: 首页 > 知识库问答 >
问题:

SpringBoot@每两次执行之间的预定随机延迟

葛学民
2023-03-14

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

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

我能想到的是,在执行中使用一个固定延迟,加上一个随机秒的Thread.sleep(),但是我觉得应该有一个更正确的方法来做到这一点。

共有1个答案

张英范
2023-03-14

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

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

 类似资料:
  • 我试图生成8个范围内的随机数,例如1到100。我生成的很好,但我需要生成随机数,所有生成的随机数和最小-最大范围值之间的特定差异被排除。假设在1到100中,我必须生成2,12,22,32,42,52,62,72的数字。不管怎样,我都可以生成这样的随机数。 提前谢谢。

  • 问题内容: 我有一列称为,我希望每一行都保存一个随机日期,该日期距当前时间为-2天。 我正在运行以下查询,但它使用相同的随机日期更新所有行。我希望每一行都是随机的,并且不一样。 任何想法将不胜感激。 问题答案: 使用表达式代替查询:

  • 问题内容: 我想知道如何在两个给定值之间生成一个随机数。 我可以使用以下内容生成一个随机数: 但是,如何生成0到100(含)之间的随机数? 问题答案: 你可以使用例如 r.nextInt(101) 对于更通用的“在两个数字之间”,请使用: 这会为你提供介于10(含)和100(不含)之间的随机数

  • 最初,我在运行拓扑时只分配了1个executor给QueryNormalizer。执行潜伏期为8.952,处理潜伏期为12.857。 为了更快,我将QueryNormalizer中的执行程序数更改为4。执行延迟更改为197.616,处理延迟更改为59.132。 根据执行延迟的定义-元组在执行方法中花费的平均时间。execute方法可以在不发送元组的Ack的情况下完成。 此外,处理延迟是否应始终低于

  • 问题内容: 我连续有两列:,。有没有一种方法可以像这样进行选择: 我确实意识到那是另一回事。我最接近(带有帮助)的是,尽管它会产生一个浮点数,然后我需要它到ROUND(),这完全是错误的。 除非有人能提出替代方案(这将非常有用),否则我将采用PHP方式。 问题答案: 实际上,这是MySQL中执行所需操作的最佳方法。这也是ActionScript,JavaScript和Python中的最佳方法。老实

  • 问题内容: 我想在两个小十进制数字之间获取一个随机数。 在0.8到1.3之间。 要么 谢谢! 问题答案: 斯威夫特5: 使用random(in :) 返回指定范围内的随机值: 每个苹果: random()静态方法从范围内的连续均匀分布中选择一个随机值,然后将该值转换为该类型中最接近的可表示值。 请参阅random(in:using:)以指定默认值以外的随机生成器。