sql >> Database teknologi >  >> RDS >> Mysql

mit nodejs-script afsluttes ikke af sig selv efter vellykket eksekvering

Jeg har lige været igennem dette problem.

Problemet med bare at bruge process.exit() er, at det program, jeg arbejder på, skabte håndtag, men aldrig ødelægge dem.

Den behandlede en mappe og indsatte data i orientdb .

så nogle af de ting, jeg er kommet for at lære, er, at databaseforbindelser skal lukkes, før man slipper af med referencen. Og det process.exit() løser ikke alle sager.

Da mit projekt behandlede 2.000 filer. Det ville komme ned til omkring 500 tilbage, og de ekstra håndtag ville have fyldt den tilgængelige arbejdshukommelse op. Hvilket betyder, at det ikke ville kunne fortsætte. Derfor når du aldrig process.exit til sidst.

På den anden side, hvis du lukker de elementer, der anmoder appen om at forblive åben, kan du løse problemet ved kilden.

De to "Udokumenterede funktioner", som jeg var i stand til at bruge, var

process._getActiveHandles();
process._getActiveRequests();

Jeg er ikke sikker på, hvilke andre funktioner der vil hjælpe med at fejlfinde disse typer problemer, men disse var fantastiske.

De returnerer et array, og du kan bestemme meget om, hvad der foregår i din proces ved at bruge disse metoder.

Jeg håber bare, at det hjælper andre, der falder over dette indlæg.



  1. Forskellen mellem en normal ajax og lang afstemning

  2. oprettelse af tidsplanopgave uden Cron-job

  3. Hibernate- kunne ikke dovent initialisere en samling af roller:beans.Language.patients, kunne ikke initialisere proxy - ingen session

  4. Opdater kolonne i database, hvor max værdi php mysql