The logs include WORKER which has been unref'ed already and doesn't keep node running.
test.js
const log = require('why-is-node-running');
new (require('worker_threads').Worker)('', { eval: true }).unref();
log();
output
Details
$ node test.js
There are 10 handle(s) keeping the process running
# WORKER
node:internal/async_hooks:201
node:internal/worker:185
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
node:internal/modules/cjs/loader:822
node:internal/modules/run_main:77
node:internal/main/run_main_module:17
# MESSAGEPORT
node:internal/async_hooks:201
node:internal/worker:185
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
node:internal/modules/cjs/loader:822
node:internal/modules/run_main:77
node:internal/main/run_main_module:17
# TTYWRAP
node:internal/async_hooks:201
node:internal/bootstrap/switches/is_main_thread:47
node:internal/bootstrap/switches/is_main_thread:127
node:internal/worker:213
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
# SIGNALWRAP
node:internal/async_hooks:201
node:internal/process/signal:26
node:internal/bootstrap/switches/is_main_thread:132
node:internal/worker:213
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
# TickObject
node:internal/async_hooks:201
node:internal/async_hooks:506
node:internal/process/task_queues:133
node:internal/streams/readable:980
node:internal/streams/readable:971
node:internal/streams/readable:885
node:internal/streams/readable:751
node:internal/worker:426
node:internal/worker:213
# TTYWRAP
node:internal/async_hooks:201
node:internal/bootstrap/switches/is_main_thread:47
node:internal/bootstrap/switches/is_main_thread:139
node:internal/worker:218
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
# TickObject
node:internal/async_hooks:201
node:internal/async_hooks:506
node:internal/process/task_queues:133
node:internal/streams/readable:980
node:internal/streams/readable:971
node:internal/streams/readable:885
node:internal/streams/readable:751
node:internal/worker:426
node:internal/worker:218
# MESSAGEPORT
node:internal/async_hooks:201
node:internal/worker:223
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
node:internal/modules/cjs/loader:822
node:internal/modules/run_main:77
node:internal/main/run_main_module:17
# MESSAGEPORT
node:internal/async_hooks:201
node:internal/worker:223
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
node:internal/modules/cjs/loader:822
node:internal/modules/run_main:77
node:internal/main/run_main_module:17
# TickObject
node:internal/async_hooks:201
node:internal/async_hooks:506
node:internal/process/task_queues:133
node:internal/worker:261
/Users/raisinten/Desktop/temp/project/npm/test.js:2 - new (require('worker_threads').Worker)('', { eval: true }).unref();
node:internal/modules/cjs/loader:1103
node:internal/modules/cjs/loader:1157
node:internal/modules/cjs/loader:981
node:internal/modules/cjs/loader:822
I'll try to open a PR in Node.js to implement the hasRef() method on Worker and if that gets merged, the only change required in this repository would be to additionally handle the 'WORKER' type in
.
EDIT:
PR opened in Node.js - nodejs/node#42756.
The logs include
WORKERwhich has been unref'ed already and doesn't keep node running.test.js
output
Details
I'll try to open a PR in Node.js to implement the
hasRef()method on Worker and if that gets merged, the only change required in this repository would be to additionally handle the'WORKER'type inwhy-is-node-running/index.js
Line 30 in 24fb4c8
EDIT:
PR opened in Node.js - nodejs/node#42756.