Dice en la página acerca de Node.js :
El nodo sale del bucle de eventos cuando no hay más devoluciones de llamada para realizar.
¿Hay alguna forma de averiguar qué devoluciones de llamada impiden que Node salga?
Dice en la página acerca de Node.js :
El nodo sale del bucle de eventos cuando no hay más devoluciones de llamada para realizar.
¿Hay alguna forma de averiguar qué devoluciones de llamada impiden que Node salga?
Respuestas:
Puedes usar
process._getActiveHandles()
yprocess._getActiveRequests()
Vea esta discusión en la lista de correo de node.js.
actualización: hay un buen paquete para esto: https://github.com/mafintosh/why-is-node-running
fuente
"totally spacing on the name, it's like "process._getOpenHandles()" or something equally hard to remember"
. Estaba buscando en Google tratando de encontrar la llamada real y no pude. Gracias de nuevo.node_globals.js
y no lo encontré. Ahora estoy haciendo grepping en la base de código del nodo, sabiendo qué buscar y descubro que están definidos en node.cc. process._getActiveHandles () essrc/node.cc:2345: NODE_SET_METHOD(process, "_getActiveHandles", GetActiveHandles);
¡Ja! Excelente.Hay un módulo npm wtfnode para mostrar qué mantiene la aplicación nodejs en ejecución cuando le envía SIGINT (ctrl-c).
Tiene usos internos
process._getActiveHandles()
como se menciona en la respuesta de @ andrey-sidrov. El beneficio de usarwtfnode
es que proporciona una salida fácil de leer.fuente