Путаница в том, как работает кластер и дочерний процесс - PullRequest
2 голосов
/ 09 июля 2019

Я использовал дочерний процесс в своем электронном приложении. и я разветвил дочерний процесс только после завершения предыдущего дочернего процесса. А также, если я разветвляю несколько процессов, это не увеличит скорость.

поэтому я могу использовать кластерный модуль в электронном приложении для одновременной ветвления нескольких дочерних процессов.

let doneFunction = {}
let queue = createQueue(1);
this.state.files.forEach((file, i) => {
    queue.defer(function(details, done) {
        readSizeRecursive(details.path, e); // inside that i forked child
        doneFunction = done;
    }, file);
});

childFinished = () => {
    doneFunction()
}

Ранее я спрашивал Максимальный предел дочернего процесса , но я не могу ответить.

  1. если я разветвлял два средства кластера и разветвлял два дочерних средства процесса, каждый дочерний процесс выполнялся параллельно в двух разных кластерах?

Ответы [ 2 ]

2 голосов
/ 17 июля 2019

А также, если я разветвляю несколько процессов, это не увеличит скорость.

Чтобы увеличить скорость, вам нужно ускорить узкое место, которое является дисковым вводом-выводом в вашем случае(расчет размера каталога и т. д.).Процессор намного быстрее, чем дисковый ввод-вывод, поэтому многократные / одиночные потоки / процессы просто не имеют значения.

, если я разветвлял два средства кластера и я разветвлял два дочерних средства процесса, каждый дочерний процесс выполнялся параллельно в двухразные кластеры?

да, но это не ускорит ваш конечный результат, как указано выше

1 голос
/ 16 июля 2019

Вы можете лучше понять режим кластера из этой статьи Подробное определение кластера

Но я лично рекомендовал использовать Nginx для таких вещей. Взгляните на NgInx

Надеюсь, это поможет.счастливое кодирование:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...