如何使用 Node-Cron 运行 cronjob 特定时间(UTC)?

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

我使用 node-cron 库来处理计划任务。我想在 UTC 时区每 1 小时(00.00、01.00、02.00...24.00)运行一次任务,但它不起作用(时间不正确)

谢谢你。

node.js npm cron-task node-cron
3个回答
1
投票

来自文档

请参阅 IANA 时区数据库 了解有效值,例如

Asia/Shanghai
Asia/Kolkata
America/Sao_Paulo

您可以在 wikipedia 上查看 tz 数据库时区列表。

let task24 = cron.schedule('0 * * * *' async () => {
    // task
}, { timezone: 'Etc/UTC' })

更新

如果设置 node-cronoptions.timezone,则会出现

内存泄漏错误
。除非问题得到解决,否则请使用 croner 代替。以下是 如何从 
node-cron
迁移到
croner


0
投票

您需要定义您想要的时间。您可以使用此网站来执行此操作。

或者使用这个例子:

var cron = require('node-cron');

cron.schedule("0 * * * *", () => { // 0 * * * * = every houre at minute 0
    console.log("running a task every houre");
});

0
投票

//如果你想在特定时间运行它可以像这样:

// 每天上午 10:36:00 运行

var cron = require('node-cron');
cron.schedule('00 36 10 * * *', () => {
    console.log(new Date());
});
© www.soinside.com 2019 - 2024. All rights reserved.