sql >> Base de Datos >  >> RDS >> Mysql

mi script nodejs no se cierra solo después de una ejecución exitosa

Acabo de pasar por este problema.

El problema de usar process.exit() es que el programa en el que estoy trabajando estaba creando identificadores, pero nunca destruyéndolos.

Estaba procesando un directorio y poniendo datos en orientdb .

así que algunas de las cosas que he llegado a aprender es que las conexiones de la base de datos deben cerrarse antes de deshacerse de la referencia. Y ese process.exit() no resuelve todos los casos.

Cuando mi proyecto procesó 2000 archivos. Se reduciría a unos 500 restantes, y las manijas adicionales habrían llenado la memoria de trabajo disponible. Lo que significa que no podría continuar. Por lo tanto, nunca llegar al process.exit al final.

Por otro lado, si cierra los elementos que solicitan que la aplicación permanezca abierta, puede resolver el problema en su origen.

Las dos "Funciones no documentadas" que pude usar fueron

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

No estoy seguro de qué otras funciones ayudarán a depurar este tipo de problemas, pero estas fueron increíbles.

Devuelven una matriz y puede determinar mucho sobre lo que está sucediendo en su proceso utilizando estos métodos.

Solo espero que eso ayude a cualquier otra persona que encuentre esta publicación.