1

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

这是我的目录/应用程序中除 package.json 文件和 node_modules 目录之外的唯一文件。

代码在这里:

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,请指出,这样我就不必再回来打扰你了。

4

1 回答 1

0

10 * * * *- 表示“每 10 分钟”。您需要10 * * * * *每 10 秒运行一次。

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

var task = cron.schedule('10 * * * *', function() {
  console.log('immediately started');
}, true);
于 2017-10-23T01:54:26.373 回答