вывести размер пула потоков libuv в узле js 8 - PullRequest
0 голосов
/ 27 мая 2018

Эта ссылка просто указывает, что libuv предоставляет пул потоков, который можно использовать для запуска пользовательского кода и получения уведомлений в потоке цикла.Его размер по умолчанию равен 4, но его можно изменить во время запуска, задав для переменной среды UV_THREADPOOL_SIZE любое значение.(абсолютный максимум равен 128).

Итак, в package.json я установил поле scripts, как показано ниже ( ПРИМЕЧАНИЕ : я использую Windows 7, Node JS 8.11.3,nodemon, express 4.16),

Фрагмент кода из package.json

.
.
.
"scripts": {
    "start": "SET UV_THREADPOOL_SIZE = 120 && node index.js",
  },
.
.
.

Код для index.js

var express = require('express');
var app = express();

var server = app.listen(3000, function(){
    console.log('LIBUV Threads: ', process.env.UV_THREADPOOL_SIZE); // this returns 'undefined'
});

Как я могу быть уверен, что размер пула потоковустановлен?Я хочу напечатать это здесь в index.js, как указано выше.

1 Ответ

0 голосов
/ 27 мая 2018

В вашей команде set не должно быть пробелов.

set UV_THREADPOOL_SIZE=120 && node index.js

Также вы должны запустить программу Node.js, вызвав скрипт start:

npm start

В противном случае переменная окружения не будет установлена, и вы продолжите получать undefined при доступе к ней в своем коде.

Если вы используете Nodemon, вы можете убедиться, что ваш скрипт npm вызывается, выполнив командус дополнительным аргументом:

nodemon --exec npm start
...