распечатать размер пула потоков libuv в узле js 8

Эта ссылка просто указывает, что 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, как указано выше.


person Ankur Soni    schedule 27.05.2018    source источник


Ответы (1)


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

set UV_THREADPOOL_SIZE=120 && node index.js

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

npm start

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

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

nodemon --exec npm start
person Tsvetan Ganev    schedule 27.05.2018
comment
Спасибо за это исправление, но я все равно получаю undefined. - person Ankur Soni; 27.05.2018
comment
Не могли бы вы попробовать ту же команду, но используя только 1 амперсанд (&)? - person Tsvetan Ganev; 27.05.2018
comment
Ага! Я сделал, и результат не пострадал. Кроме того, я сомневаюсь, что process.env.UV_THREADPOOL_SIZE является правильным способом печати пула потоков libuv в узле js. - person Ankur Soni; 27.05.2018
comment
Вы запускаете свой сервер с npm start? - person Tsvetan Ganev; 27.05.2018
comment
Я использую nodemon, он автоматически идентифицирует скрипт start. - person Ankur Soni; 27.05.2018
comment
Вы пытались запустить просто npm start? nodemon ищет index.js, если он запускается без аргументов (если я правильно помню). - person Tsvetan Ganev; 27.05.2018
comment
Ага! вы абсолютно правы. Это сработало! Можете ли вы обновить свой ответ правильными указаниями, чтобы я его принял? также я обновлю свой вопрос с более подробной информацией - person Ankur Soni; 27.05.2018
comment
но как мы на самом деле увидим, будет ли выбрана конфигурация, я работаю над окнами, поэтому некоторые команды Linux не достигают моей цели. - person Nutan; 22.06.2021