首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs节点-调度npm抛出错误"this.job.execute不是一个函数“

Nodejs节点-调度npm抛出错误"this.job.execute不是一个函数“
EN

Stack Overflow用户
提问于 2016-03-31 22:49:32
回答 2查看 4.4K关注 0票数 5

我是nodejs的新手,我已经编写了一个nodejs程序,并使用node-schedule每分钟对其进行调度。但在运行了一段时间并在控制台上生成了几个日志之后,nodejs抛出了this.job.execute is not a function错误

下面是我使用的代码:

代码语言:javascript
复制
var nodeSchedule = require('node-schedule');

runJob();

function runJob(){
    console.log("start");
    nodeSchedule.scheduleJob('0 * * * * *',require('./prodModules.js'));

}

我得到的日志是:

代码语言:javascript
复制
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有任何问题,因为它独立运行,它运行得很好。调度正在抛出错误。

请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2017-11-01 06:42:00

节点调度程序回调必须是函数。将您的runJob更改为如下所示:

代码语言:javascript
复制
function runJob() {
    console.log("start");
    nodeSchedule.scheduleJob('0 * * * * *', function () { 
        require('./prodModules.js');
    });
}
票数 3
EN

Stack Overflow用户

发布于 2016-03-31 23:05:53

尝试重新导入'node-schedule',我用一个新的导入运行了您的代码,它按预期工作。

要在windows cmd上下载导入:> npm install node-schedule

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36336799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档