每秒 (n) 周节点 js 的 Cron 解析器设置

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

我使用 Node.js 中的 cron-parser 库来处理应用程序中的 cron 调度。我有一个要求,我需要设置一个每两周运行一次的 cron 作业,特别是在星期一和星期日。

我查看了 cron-parser 的文档,但找不到对此类计划的任何直接支持。该库似乎遵循标准 cron 语法。有没有办法配置 cron-parser 以实现每两周一次的模式,同时针对特定的工作日?

对于上下文,我当前的方法涉及解析自定义时间表格式,例如 (7,1)/2,其中 7 代表星期日,1 代表星期一。这种方法有效,但我想知道是否有更干净或更标准的方法来使用 cron-parser 来实现此目的。

这是我的代码的相关部分:

const parser = require('cron-parser');

// Custom schedule format: (7,1)/2 (for Sundays and Mondays every two weeks)
const scheduleData = '(7,1)/2';
const interval = parser.parseExpression(scheduleData, {
  // ...
});

任何实现此类时间表的见解、建议或替代方法将不胜感激!

javascript node.js reactjs cron
1个回答
0
投票

因为我需要 Node js 并且我正在使用 cron-parser 我所做的是创建一个自定义 cron

1 10 * * [1,7] 2(this is n week)

然后我分裂了

" "
取元素的索引 5 来取第 n 周

我也使用dayjs,所以我使用weekOfYear插件(https://day.js.org/docs/en/plugin/week-of-year)来获取我当前所在的周数并检查周数% n 为 0 那么我们应该将 cron 格式化为

1 10 * * 1,7
,这是有效的 cron,我们可以使用
parseExpression
cron-parser
检查我们是否应该运行

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