0

我正在尝试在 setInterval 方法中运行计划的作业进程,但无法正确实现它。

我想要做的是,我有一个学生列表,我需要在某个日期发送电子邮件。方法的内容可能会改变(我在下面提到过),所以我必须以 1 小时的间隔运行这个作业,这样如果数据库中有更新,它会使用更新的数据重新安排作业。

我必须为每个学生分配相同日期的工作。但在这里,工作没有重新安排。它们堆叠在一起。

示例:如果我现在运行服务器 30 秒,它将为每个学生安排 6 次作业,给我总共 6*3 = 18 个作业。我想要的只是 3 个学生的 3 个工作。

const schedule = require("node-schedule");

setInterval(() => {
  ["student1", "student2", "student3"].forEach((student) => {
    const job1 = schedule.scheduleJob(date1, function () {
      console.log("notification for: " + student);
      // Data in here might change
    });
  });
}, 5000);

使用的包:node-schedule ( https://www.npmjs.com/package/node-schedule )

4

0 回答 0