Node / NestJS 中的复合 Cron 作业

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

我想创建一个复合 cron 作业,它执行的作业有 2 种不同的变体。

主作业每30分钟运行一次,并执行命令A。

辅助作业应该每天运行一次,而不是安排在该 30 分钟时段的主作业,并执行命令 B。

因此执行计划如下所示:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB

等等。 每 30 分钟一班。

有什么好的、干净的方法来使用 cron 语句来实现这一点吗? 主作业是否应该检查当天的当前时间并根据该条件执行命令 B? 我宁愿拥有一个很好的现有工具来帮助定义这样的复合作业。

node.js cron nestjs cron-task
1个回答
0
投票

您可以在 NestJS 计划中使用 cron 表达式来实现相同的功能:

@Cron('0/30 0-22,23 * * *')
public mainJob() {
  console.log('A')
}

此作业每 30 分钟运行一次,每天晚上 11.30 除外。


@Cron('30 23 * * *')
public secondaryJob() {
  console.log('B')
}

此作业将在每天晚上 11.30 运行一次。


* * * * * *
| | | | | |
| | | | | day of week
| | | | months
| | | day of month
| | hours
| minutes
seconds (optional)
© www.soinside.com 2019 - 2024. All rights reserved.