使用Express启动时创build预定作业

我正在进入Express,并遇到了一个问题。 我有一个应用程序提供一个REST API。 这一切工作正常。 但是我想用node-schedule( https://www.npmjs.com/package/node-schedule )来添加一个预定的作业。 我已经实现了这个模块:

var schedule = require('node-schedule'); var scheduler = { scheduleJob: function(monitor) { var job = schedule.scheduleJob('* * * * *', function(){ monitor.check(); }); return job; } } module.exports = scheduler; 

在app.js中,我添加了以下内容,因为我发现了一个类似的堆栈溢出问题。 这不适合我:

 app.on('listening', function () { console.log("App started, gathering monitors"); var allMonitors = queries.getAllMonitorsInt(); for (var i = 0; i < allMonitors.length; i++) { console.log("Monitor found: " + allMonitors[i].name); shdlr.scheduleJob(allMonitors[i]); } }); 

我甚至没有得到“App started …”日志消息。

我是以正确的方式做这个还是我偏离目标?

调度器应该放在app.listencallback中,像这样:

 app.listen(3000, function () { console.log("App started, gathering monitors"); var allMonitors = queries.getAllMonitorsInt(); for (var i = 0; i < allMonitors.length; i++) { console.log("Monitor found: " + allMonitors[i].name); shdlr.scheduleJob(allMonitors[i]); } }); 

Express不支持listening事件,看到一个问题 。