我是nodejs的新手,我寫了一個nodejs程序並使用node-schedule每分鐘安排一次。但運行一段時間,並在控制檯上生成一對夫婦的日誌後,的NodeJS拋出錯誤this.job.execute is not a function
Nodejs node-schedule npm拋出錯誤「this.job.execute不是函數」
這裏是我使用的代碼:
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上檢查出的問題。這是我首先看的地方。 – jmugz3
你確定'require('./prodModules.js')'返回你認爲它的作用嗎?並且「scheduleJob」期望它作爲第二個參數嗎? –
@ Kevin-B:你說得對。我沒有在函數中包含prodModules.js,並調用js文件,這就是爲什麼它拋出了prodModules不是函數的錯誤。所以我將整個代碼包裝在prodModules.js中的export.myFunc = function(){}中,現在它工作的很好。 感謝凱文暗示:) – aiman