sql >> Databasteknik >  >> RDS >> Mysql

mitt nodejs-skript avslutas inte av sig självt efter framgångsrik körning

Jag gick precis igenom det här problemet.

Problemet med att bara använda process.exit() är att programmet jag arbetade med skapade handtag, men att de aldrig förstördes.

Den bearbetade en katalog och lade in data i orientdb .

så några av de saker som jag har lärt mig är att databasanslutningar måste stängas innan man blir av med referensen. Och den där process.exit() löser inte alla fall.

När mitt projekt behandlade 2 000 filer. Det skulle komma ner till cirka 500 kvar, och de extra handtagen skulle ha fyllt upp det tillgängliga arbetsminnet. Vilket betyder att det inte skulle kunna fortsätta. Därför når du aldrig process.exit på slutet.

Å andra sidan, om du stänger objekten som begär att appen ska vara öppen kan du lösa problemet vid dess källa.

De två "Odokumenterade funktionerna" som jag kunde använda var

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

Jag är inte säker på vilka andra funktioner som kommer att hjälpa till med att felsöka dessa typer av problem, men dessa var fantastiska.

De returnerar en array och du kan avgöra mycket om vad som händer i din process genom att använda dessa metoder.

Jag hoppas bara att det hjälper någon annan att snubbla över det här inlägget.



  1. Scrabble ordsökare med jokertecken

  2. MySQL ODBC 5.1-drivrutinen returnerar fel datatyp till ADODB

  3. mySQL-fråga för att summera belopp i kolumner (månader)

  4. Hur väljer GROUP BY DESC sin beställning?