gpt4 book ai didi

node.js - 单个 cron 作业在多个时区运行 node-cron

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:46 25 4
gpt4 key购买 nike

我已使用 node-cron 配置作业是的,我喜欢这个 Node 模块来安排 Node 中的作业。

这里我需要向位于不同时区的用户发送推送通知。我想在特定时间向他们发送通知。

假设我在晚上 9 点发送通知,因此在所有列出的时区中,cron 作业将在晚上 9 点触发。

var CronJob = require('cron').CronJob;
var job = new CronJob('00 30 11 * * 1-5', function() {
/*
* Runs every weekday (Monday through Friday)
* at 11:30:00 AM. It does not run on Saturday
* or Sunday.
*/
}, function () {
/* This function is executed when the job stops */
},
true, /* Start the job right now */
timeZone /* Time zone of this job. */
);

我知道这一切,并且我正在为一个时区做同样的事情,正如文档中提到的。

timeZone - [OPTIONAL] - Specify the timezone for the execution. This will modify the actual time relative to your timezone.

但是我可以在时区属性中指定多个时区吗?

如果有人知道其他 Node 模块可以实现此目的,请告诉我?

注意:我已经知道我可以在此处为每个时区配置多个配置,但如果有动态列表怎么办?

最佳答案

我不知道如何将时区列表发送到 CRON 作业,但您可以更改 cron 作业内运行的方法中的逻辑。

你可以这样做:

  • 每半小时运行一次作业
  • 如果您希望它运行在这一天
  • 选择所在时区的用户(将当前 GMT 时间转换为用户时区 - 如果数据库可以执行此操作)> 上午 11:30 && 尚未发送通知
  • 向返回的用户发送通知。

你可能已经走了这条路...只是扔进我的 2c

HTH

关于node.js - 单个 cron 作业在多个时区运行 node-cron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com