Ich bin neu bei Nodejs und ich habe ein Nodejs-Programm geschrieben und es jede Minute mit dem Node-Zeitplan geplant. aber nach einiger Zeit laufen und ein paar von Protokollen auf der Konsole zu erzeugen, NodeJS wirft Fehler, dass this.job.execute is not a function
Nodejs Knoten-Zeitplan Npm wirft Fehler "this.job.execute ist keine Funktion"
hier ist der Code Ich verwende:
var nodeSchedule = require('node-schedule');
runJob();
function runJob(){
console.log("start");
nodeSchedule.scheduleJob('0 * * * * *',require('./prodModules.js'));
}
die Protokolle Ich erhalte ist:
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>
Ich glaube nicht, dass es etwas falsch mit meinem prodModules.js
seit dem Ausführen von eigenständigen läuft es gut. Scheduling wirft Fehler.
Bitte helfen.
Wenn Sie denken, dass es ein Fehler mit der Bibliothek ist, so die Probleme in Github überprüfen. Da würde ich zuerst nachsehen. – jmugz3
Sind Sie sicher, dass 'require ('./ prodModules.js')' zurückgibt, was Sie denken, dass es tut? und ist es das, was 'scheduleJob' als zweiten Parameter erwartet? –
@ Kevin-B: Du hattest Recht. Ich hüllte die prodModules.js nicht in eine Funktion ein und rief die js-Datei auf, deshalb warf sie den Fehler auf, dass prodModules keine Funktion ist. Also habe ich den ganzen Code in prodModules.js in eine export.myFunc = function() {} geschrieben und es funktioniert jetzt gut. Danke Kevin für Hinweise :) – aiman