我是nodejs的新手,我编写了一个nodejs程序,并使用node-schedule每分钟安排一次。但是在运行一段时间并在控制台生成几个日志之后,nodejs抛出错误this.job.execute is not a function
这是我正在使用的代码:
var nodeSchedule = require('node-schedule');
runJob();
function runJob(){
console.log("start");
nodeSchedule.scheduleJob('0 * * * * *',require('./prodModules.js'));
}
我得到的日志是:
C:\Users\1060641\Downloads\NodeJS HealthReport\Collector>node src\main\nodejs\collector_main.js
start
Connected
Ready
logged in as Super User
nfs_check running...
NFS Check completed
snapchart_check running...
C:\Users\1060641\node_modules\node-schedule\lib\schedule.js:177
this.job.execute();
^
TypeError: this.job.execute is not a function
at Job.invoke (C:\Users\1060641\node_modules\node-schedule\lib\schedule.js:177:14)
at null._onTimeout (C:\Users\1060641\node_modules\node-schedule\lib\schedule.js:445:11)
at Timer.listOnTimeout (timers.js:92:15)
C:\Users\1060641\Downloads\NodeJS HealthReport\Collector>
我认为我的prodModules.js
没有任何问题,因为它独立运行它运行良好。
调度会引发错误。
请帮忙。
答案 0 :(得分:1)
尝试重新导入' node-schedule',我使用全新导入运行您的代码,它按预期工作。
要在Windows cmd上向下导入:> npm install node-schedule
答案 1 :(得分:1)
node-scheduler回调必须是一个函数。 将runJob更改为以下内容:
function runJob() {
console.log("start");
nodeSchedule.scheduleJob('0 * * * * *', function () {
require('./prodModules.js');
});
}