【问题标题】:How to schedule a job between specific time?如何在特定时间之间安排工作?
【发布时间】:2023-01-09 21:04:31
【问题描述】:
我正在尝试使用 node-cron 安排一项工作,该工作在周一至周五上午 9:00 至下午 3:30 之间每 10 秒运行一次,但我无法实现。这是我的 Node Cron 代码,现在我可以安排在上午 9:00 到下午 4:00 之间,但我想在上午 9:00 到下午 3:30 之间安排,我如何在 node-cron 中实现这个?
const job = cron.schedule('*/1 9-16 * * 1-5', () => {
console.log(new Date());
}, {
timezone: 'Asia/Kolkata'
});
【问题讨论】:
标签:
javascript
node.js
scheduler
node-cron
【解决方案1】:
更简单的方法似乎是使用两个调度程序
- 一个用于 9 到 3
'* 9-15'(这仅适用于分钟和小时)
- 一个用于 3 到 3.30
'0-30 15'(这仅适用于分钟和小时)
【解决方案2】:
在@ashish singh's answer 之后,使用两个 cron 作业:
const cron = require('node-cron')
const job = () => {
console.log(new Date())
}
// Each 10 seconds past every hour from 9 through 15 on every day-of-week from Monday through Friday
cron.schedule('*/10 * 9-15 * * 1-5', () => job())
// Each 10 seconds from 0 through 30 past hour 15 on every day-of-week from Monday through Friday
cron.schedule('*/10 0-30 15 * * 1-5', () => job())
计划 1:
-
*/10:每10秒
-
*:每一分钟
-
9-15:从第 9 点(上午 09:00)到第 15 点(下午 03:00)
-
*:每天
-
*:每个月
-
1-5:周一至周五
克罗恩 2:
-
*/10:每10秒
-
0-30:从第 0 分钟到第 30 分钟
-
15:15 点(下午 03:00)
-
*:每天
-
*:每个月
-
1-5:周一至周五
* 节点 CRON 文档 here。