仅在特定日期和时间运行cron作业

时间:2018-01-16 04:55:28

标签: javascript node.js express cron

在我们的快递js应用程序中,管理模块中有一个功能,他可以在特定日期向用户发送邮件(他可以选择特定的日期和时间)。

如果日期和时间是2018-02-22@12.00,我们需要在那时运行电子邮件代码。

我认为这个包将满足我们的需求https://www.npmjs.com/package/node-schedule

这是他们的文档

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    │
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23)
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)

但它没有说明如何在特定日期运行(年份字段丢失?)所以我如何实现我的需求?

2 个答案:

答案 0 :(得分:1)

对于特定日期,您可以使用example

中提供的类似内容的内容
var schedule = require('node-schedule');
var date = new Date(2018, 1, 22, 12, 0, 0);

var j = schedule.scheduleJob(date, function(){
  console.log('job is running');
});

答案 1 :(得分:1)

您可以在其中传递日期对象。如果您进一步阅读文档,可以在此处找到:https://www.npmjs.com/package/node-schedule#date-based-scheduling

var schedule = require('node-schedule');
var date = new Date(2012, 11, 21, 5, 30, 0);

var j = schedule.scheduleJob(date, function(){
 console.log('The world is going to end today.');
});