使用 node-cron 的 Cron 作业不会 console.log 进行测试

Cron job with node-cron will not console.log for a test

我正尝试在我的 node.js 应用程序中 运行 测试 cron 作业(一个仅用于此作业),但它并不像它应该的那样 console.log()。它应该每 10 秒 console.log() 但它不会。

除了 package.json 文件和 node_modules 目录之外,这是我 directory/app 中唯一的文件。

代码在这里:

var express     = require("express"),
    app         = express(),
    bodyParser  = require("body-parser"),
    mongoose    = require("mongoose"),
    cron = require("node-cron");


mongoose.connect("mongodb://localhost/asset-management-v1");
// mongoose.connect("mongodb://localhost/yelp_camp_v10");
app.use(bodyParser.urlencoded({extended: true}));
app.set("view engine", "ejs");
app.use(express.static(__dirname + "/public"));


app.use(function(req, res, next){
   res.locals.currentUser = req.user;
   next();
});

var task = cron.schedule('10 * * * *', function() {
  console.log('immediately started');
}, false);

task.start();

我的最终目标是检查 mongodb collection,然后查看每个 objectID,如果 objectID 时间戳超过 10 天,则使用 nodemailer。如果您发现导致 console.log 失败的原因以外的任何事情,请指出,这样我就不必再回来打扰你们了。

10 * * * * - 表示 "every 10 minutes"。您需要每 10 秒 10 * * * * * 到 运行。

你可以通过true立即启动它:

var task = cron.schedule('10 * * * *', function() {
  console.log('immediately started');
}, true);