首页 > 解决方案 > nodejs cron job(AWS) - 我如何在多个时区运行 cron 作业

问题描述

假设我们有 3 个用户(用户数可能实时动态变化)位于不同时区的不同地方。

user1 - 澳大利亚/阿德莱德

user2 - 亚洲/加尔各答

user3 - 欧洲/巴黎

............

............

我想在每天的某个时间点向所有可用的用户发送一封电子邮件,以便电子邮件应该在下午 2 点发送给所有用户到他们各自的时区

我可以为单个时区做到这一点,但不能使用单个 cron 作业进行多个

如何使用单个 cron 作业让它在多个时区工作?

标签: node.jsamazon-web-servicescrontimezone

解决方案


基于node-cron将时区作为参数CronJob

const CronJob = require('cron').CronJob;
let timzones = ["America/Los_Angeles", "Asia/Kolkata"];

timzones.forEach(timezone=>{
  var job = new CronJob('* * * * * *', function() {
    console.log('You will see this message every second');
  }, null, true, timezone);
  job.start();
})

推荐阅读