Ich versuche herauszufinden, wie eine Instanz von Express heruntergefahren werden kann. Grundsätzlich möchte ich die Umkehrung des .listen(port)
Anrufs - wie kann ich einen Express-Server dazu bringen, das Abhören zu stoppen, den Port freizugeben und sauber herunterzufahren?
Ich weiß, dass dies eine seltsame Frage zu sein scheint. Hier ist der Kontext. Vielleicht gibt es einen anderen Weg, dies zu erreichen, und ich denke falsch darüber nach. Ich versuche, ein Testframework für meine socket.io/nodejs-App einzurichten. Es ist eine einseitige App, also in meinen Testskripten (ich verwende MochaIch möchte in der Lage sein, den Server zu starten, Tests dagegen durchzuführen und dann den Server herunterzufahren. Ich kann dies umgehen, indem ich davon ausgehe, dass entweder der Server vor dem Start des Tests eingeschaltet ist oder dass einer der Tests den Server startet und jeder nachfolgende Test davon ausgeht, dass er aktiv ist, aber das ist wirklich chaotisch. Ich würde es sehr bevorzugen, wenn jede Testdatei eine Serverinstanz mit den entsprechenden Einstellungen startet und diese Instanz dann herunterfährt, wenn die Tests beendet sind. Das heißt, es gibt keine seltsamen Abhängigkeiten beim Ausführen des Tests und alles ist sauber. Es bedeutet auch, dass ich Start- / Abschalttests durchführen kann.
Also, irgendwelche Ratschläge, wie das geht? Ich habe darüber nachgedacht, Ausnahmen manuell auszulösen, um sie zu beenden, aber das scheint chaotisch. Ich habe Express-Dokumente und -Quelle durchsucht, kann aber anscheinend keine Methode finden, mit der der Server heruntergefahren werden kann. Es könnte auch etwas in socket.io dafür geben, aber da der Socket-Server nur an den Express-Server angeschlossen ist, denke ich, dass dies auf der Express-Ebene geschehen muss.