Ich habe ein Skript, das ich auf einer geplanten Basis in Knoten ausführen möchte. Das Skript beendet und beendet nicht. Ich vermute, dass dies daran liegt, dass mein Datenbank-Client noch offen ist.Schließen postgres (pg) Client-Verbindung in node.js
Wenn ich Folgendes einschließe, wird die Clientverbindung geschlossen, bevor die Updates eine Zeit zum Auslösen haben.
query.on('end', function() {
client.end();
});
Ich kann nicht setTimeout oder diesen Mechanismus verwenden, weil ich nicht weiß, wie lange zu warten, bis die registerBundle Funktion abzuschließen. Auch ich denke, query.on (‚Ende‘ wird ausgelöst, wenn das Update abgeschlossen ist. Nicht sicher, wie dies zu testen.
Meine Frage, ich Dinge brauchen, um zu schießen.
- Abfrage DB
- Prozess jede Reihe (query.on
- aktualisieren jede Zeile mit dem Wert von registerBundle zurück
- Schließen db Client/Verbindung, wenn alle Zeilen verarbeitet worden sind.
- Terminate Skript und Ausgangsknoten
Scheint ziemlich einfach aus einer Python/PHP-Welt, aber zerfällt in meiner Javascript-Welt.
Irgendwo zwischen dem SELECT und UPDATE muss ich eine JavaScript-Funktion aufrufen, um die Werte zu erhalten, die ich für das Update benötige. Kann ich die Funktion direkt nach var pg_record aufrufen? –
@DavidAaronMcInnis Natürlich kannst du! :) –
Wenn ich versuche, dies auszuführen, erhalte ich einen Fehler "ReferenceError: data is not defined". Um das zu schaffen, musste ich "a => {" in "function (data) {" {funktion (daten) {") ändern. Nicht sicher, das ist richtig. –