【问题标题】:Nodejs node-schedule npm is throwing error "this.job.execute is not a function"Nodejs node-schedule npm 抛出错误“this.job.execute 不是函数”
【发布时间】:2016-07-20 02:34:43
【问题描述】:

我是 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 没有任何问题,因为它独立运行它运行良好。 调度正在抛出错误。

请帮忙。

【问题讨论】:

  • 如果您认为这是库的错误,请查看 github 中的问题。那是我首先要看的地方。
  • 您确定require('./prodModules.js') 会返回您认为的结果吗?这是scheduleJob 期望的第二个参数吗?
  • @Kevin-B :你是对的。我没有将 prodModules.js 封装在一个函数中,并调用 js 文件,这就是为什么它会抛出 prodModules 不是函数的错误。因此,我将 prodModules.js 中的整个代码包装在 export.myFunc=function(){} 中,现在它可以正常工作了。感谢凯文的提示:)

标签: javascript node.js express npm


【解决方案1】:

节点调度程序回调必须是一个函数。 把你的 runJob 改成这样:

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

【讨论】:

    【解决方案2】:

    尝试重新导入“node-schedule”,我使用全新导入运行了您的代码,它按预期工作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-17
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      相关资源
      最近更新 更多