Ich habe ein Stück Nodejs-Code (Scheduler und einige Db-Abfragen), die ich jedes Mal mit dem Rest der App (Express App) wenn der Node-Server ausführen möchte ist gestartet.
Eine Möglichkeit, die ich mir vorstellen kann, ist das Erstellen einer Batch-Datei, die 2 Zeilen haben wird: eine zum Starten des Knoten-Servers und die andere zum Ausführen des Knotens js-Code (Habe diesen Ansatz jedoch noch nicht getestet).
Ich habe überlegt, ob es eine Möglichkeit geben könnte, diesen statischen Code über die server.js-Datei auszuführen. Ich möchte das in derselben Instanz ausführen.
Irgendwelche Hilfe hier?Nodejs: Führen Sie eine JS-Datei auf Start Node-Server
Antwort
Sie können andere Skripte im selben Verzeichnis ausführen, indem require()
Funktionen auf Ihre server.js Datei hinzufügen:
var exportedThings = require("./path/to/file.js");
In file.js können Sie Werte an das exports
Objekt zuweisen sie Skripte erfordern zu exportieren:
exports.add = function(first,second){
return first + second;
}
nun in server.js werden Sie in der Lage:
exportedThings.add(1, 5); // Outputs 6
Genau das, was ich suchte. Vielen Dank...! –
Sie müssen zwei Module für Scheduler- und Datenbankabfragen erstellen, um sie bei jedem Start des Knotens auszuführen. Importieren Sie diese Module in Ihrer Hauptdatei und initialisieren Sie den Startprozess wie Terminplanung und Datenbankabfragen.
zum Beispiel: Hauptdatei ist Server.js
var scheduler=require("/utils/schedular.js");
scheduler.init();
Nun sollte Ihre scheduler.js Datei wie unten sein:
var schedular=function(){
var _self=this;
_self.init=function(){
console.log("init Schedular");
var rule = new cron.RecurrenceRule();
rule.second = 30;
cron.scheduleJob(rule, function(){
console.log(new Date(), 'The 30th second of the minute.');
// write your logic
});
});
}
}
module.exports=new scheduler();
Wie gefällt dünnen Sie eine andere Datei zum Ausführen der anlegen müssen DB-Abfragen. Wann immer Ihre Hauptdatei mit Knoten oder für immer ausgeführt wird, werden Ihre Scheduler- und DB-Abfragen auch ausgeführt
Genaue Lösung war, sie als Knotenmodule zu verwenden ... Anyways, +1 für den init-Ansatz –
- 1. führen Sie zwei Module bei Excel Start
- 2. Führen Sie SQL-Abfrage auf MySQL-Dienst Start
- 3. SQL Führen Sie eine Abfrage aus und führen Sie eine weitere basierend auf den Ergebnissen aus
- 4. Führen Sie Supervisord mit benutzerdefinierten Konfigurationsdatei vom Start
- 5. So führen Sie Docker-Images (Nodejs-Server) ohne Beenden aus
- 6. Führen Sie MochaJS vor dem Start Knotenserver automatisiert
- 7. nodejs pm2 Fehler beim Start der App
- 8. jQuery - Führen Sie eine Berechnung
- 9. So führen Sie eine Methode durch Klicken auf eine Benachrichtigung
- 10. NodeJS: JSON gelesen und Variablen führen speichern
- 11. Nodejs App mit Npm Start-Skript
- 12. Führen Sie Cling auf Windows
- 13. Führen Sie eine Methode nur beim Start des Spring Application Context aus?
- 14. Führen Sie eine Funktion nach einer bestimmten Zeit in NodeJs und ihre Lebensdauer
- 15. So führen Sie ein npm-Skript auf einer implementierten Heroku-NodeJS-App aus
- 16. Führen Sie eine Abfrage auf einer Abfrage in Mysql
- 17. Führen Sie eine Flasche Python-App auf Apache-Server
- 18. So führen Sie eine Aktion auf OK von JOptionPane.showMessageDialog
- 19. Führen Sie eine Batch-Datei auf Remote-Host mit PsExec
- 20. So führen Sie eine Funktion auf jeder Seite in AngularJs
- 21. Führen Sie eine mathematische Berechnung auf dynamischen Array
- 22. So führen Sie eine Binärdatei auf Heroku aus
- 23. führen Sie eine SQL-Abfrage auf json_encoded Daten wie Filter
- 24. Führen Sie web.py als Daemon
- 25. Führen Sie eine Batch-Datei für Windows SAS 9.1
- 26. Machen Sie eine NodeJs-Anwendung privat auf Heroku
- 27. Starten Sie eine App auf Samsung Smart TV Start
- 28. Führen Sie Aufgaben in mehreren Threads auf node.js
- 29. Führen Sie eine Instanz aus der Anwendung
- 30. So führen Sie eine data.table-Zusammenführungsoperation aus
Machen Sie sie einfach node.js Module und laden Sie diese anderen Dinge in Ihre Haupt-App mit 'require()'. Sie können sie dann nach Bedarf ausführen. – jfriend00
Verwenden Sie 'cronjob', es würde –
helfen, die sie als Knotenmodule zu machen und zu verwenden, arbeitete ... Danke –