Spring 随机 cron 表达式

问题描述 投票:0回答:1

我想每 1 小时执行一次作业。 我有 4 个 pod 在 kubernetes 中运行,我使用这个表达式:

0 0 */1 * * *

目前的情况是所有 pod 都会在每小时的第一分钟执行作业。

我想随机化表达式,以便每个 Pod 每小时执行一次作业,但在 0-10 之间的随机分钟内执行。

春天有一个 random.int 函数,所以我使用了它:

0 ${random.int[0,5]} */1 * * *
,但它每 2 分钟执行一次作业。

java spring cron scheduler
1个回答
0
投票

也许可以尝试一下:

0 $(expr $RANDOM \% 11) * * * *

$(expr $RANDOM % 11) 生成 0 到 10 之间的随机数。 $RANDOM 是类 Unix 系统中的内置 shell 变量,用于生成随机整数

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.