You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
console.log('Рабочий процесс ' + worker.process.pid + ' завершен');
22
22
});
23
23
} else {
24
-
// Workers can share any TCP connection
25
-
// In this case its a HTTP server
24
+
// Рабочие процессы могут разделять TCP-соединения
25
+
// В данном случае это HTTP-сервер
26
26
http.createServer(function(req, res) {
27
27
res.writeHead(200);
28
28
res.end("hello world\n");
@@ -111,7 +111,7 @@ Cluster поддерживает два способа распределени
111
111
112
112
var timeouts = [];
113
113
function errorMsg() {
114
-
console.error("Something must be wrong with the connection ...");
114
+
console.error("Что-то не так с соединением ...");
115
115
}
116
116
117
117
cluster.on('fork', function(worker) {
@@ -133,7 +133,7 @@ Cluster поддерживает два способа распределени
133
133
После порождения, рабочий процесс должен сообщить, что он запустился. В момент получения мастер-процессом извещения о запуске, происходит данное событие. Разница между 'fork' и 'online' в том, что первое происходит когда мастер запускает рабочий процесс, а второе, когда рабочий процесс запустился.
134
134
135
135
cluster.on('online', function(worker) {
136
-
console.log("Yay, the worker responded after it was forked");
136
+
console.log("Ура! Рабочий процесс запустился!");
137
137
});
138
138
139
139
@@ -147,7 +147,7 @@ Cluster поддерживает два способа распределени
147
147
Обработчик события выполняется с двумя аргументами: `worker` содержит рабочий процесс, `address` содержит параметры подключения: `address`, `port` и `addressType`. Это полезно, если рабочий процесс принимает подключения на нескольких адресах.
console.log("A worker is now connected to " + address.address + ":" + address.port);
150
+
console.log("Рабочий процесс прослушивает " + address.address + ":" + address.port);
151
151
});
152
152
153
153
@@ -162,12 +162,12 @@ Cluster поддерживает два способа распределени
162
162
163
163
*`worker` {Worker object}
164
164
165
-
Происходит после того, как IPC-канал рабочего процесса отключен. Это может произойти в случае, если рабочий процесс завершился нормально, уничтожен или отключился самостоятельно (вызвав worker.disconnect()).
165
+
Отправляется после того, как IPC-канал рабочего процесса отключен. Это может произойти в случае, если рабочий процесс завершился нормально, был остановлен или отключился самостоятельно (вызвав worker.disconnect()).
166
166
167
-
Между событиями `disconnect` и `exit`может быть задержка. Эти события могут быть использованы для того, что бы определить процесс, "зависший" на стадии завершения или имеющий долгоживущие соединения.
167
+
Между событиями `disconnect` и `exit`возможна задержка. Эти события могут быть использованы для того, что бы определить процесс, "зависший" на стадии завершения или имеющий долгоживущие соединения.
168
168
169
169
cluster.on('disconnect', function(worker) {
170
-
console.log('The worker #' + worker.id + ' has disconnected');
170
+
console.log('Рабочий процесс #' + worker.id + ' отключился');
171
171
});
172
172
173
173
@@ -177,12 +177,12 @@ Cluster поддерживает два способа распределени
177
177
*`code` {Number} при нормальном завершении код завершения.
178
178
*`signal` {String} имя сигнала (например `'SIGHUP'`) который привел к уничтожению процесса.
179
179
180
-
Когда какой-либо из рабочих процессов завершается, кластер генерирует событие 'exit'.
180
+
Когда какой-либо из рабочих процессов завершается, модуль `cluster` генерирует событие 'exit'.
181
181
182
-
Следующий код может быть использован для перезапуска рабочего процесса через повторный вызов `.fork()`.
182
+
Это событие может быть использовано для перезапуска рабочего процесса через повторный вызов `.fork()`.
console.log('Рабочий процесс %d завершился (%s). Перезапускаю...',
186
186
worker.process.pid, signal || code);
187
187
cluster.fork();
188
188
});
@@ -198,7 +198,7 @@ Cluster поддерживает два способа распределени
198
198
199
199
Объект `settings` соответствует объекту `cluster.settings` в момент вызова `.setupMaster()` и носит информационный характер, поскольку несколько вызовов `.setupMaster()` может быть выполнено в один тик.
200
200
201
-
Для точных данных используйте `cluster.settings`.
201
+
Если точность важна, используйте `cluster.settings`.
202
202
203
203
## cluster.setupMaster([settings])
204
204
@@ -212,7 +212,7 @@ Cluster поддерживает два способа распределени
212
212
Обратите внимание:
213
213
214
214
* любые изменения параметров влияют лишь на последующие вызовы `.fork()` и не влияют на уже запущенные рабочие процессы;
215
-
**единственным*параметр рабочего процесса, который не может быть установлен с помощью `.setupMaster()`, является `env`, передаваемый в `.fork()`;
215
+
**единственным*параметром рабочего процесса, который не может быть установлен с помощью `.setupMaster()`, является `env`, передаваемый в `.fork()`;
216
216
* значения по умолчанию, указанные выше, применимы только для первого вызова, для последующих вызовов значениями по умолчанию будут текущие значения параметров на момент вызова `cluster.setupMaster()`.
217
217
218
218
Пример:
@@ -223,11 +223,11 @@ Cluster поддерживает два способа распределени
223
223
args: ['--use', 'https'],
224
224
silent: true
225
225
});
226
-
cluster.fork(); // https worker
226
+
cluster.fork(); // Использует https
227
227
cluster.setupMaster({
228
228
args: ['--use', 'http']
229
229
});
230
-
cluster.fork(); // http worker
230
+
cluster.fork(); // Использует http
231
231
232
232
233
233
Данный метод может быть вызван только из мастер-процесса.
@@ -262,11 +262,11 @@ Cluster поддерживает два способа распределени
262
262
var cluster = require('cluster');
263
263
264
264
if (cluster.isMaster) {
265
-
console.log('I am master');
265
+
console.log('Я мастер-процесс');
266
266
cluster.fork();
267
267
cluster.fork();
268
268
} else if (cluster.isWorker) {
269
-
console.log('I am worker #' + cluster.worker.id);
269
+
console.log('Я рабочий процесс #' + cluster.worker.id);
270
270
}
271
271
272
272
@@ -278,14 +278,14 @@ Cluster поддерживает два способа распределени
278
278
279
279
Рабочий процесс удаляется из cluster.workers после того, как он отключится *и* завершится. Заранее невозможно определить порядок этих двух событий. Однако гарантируется, что удаление из cluster.workers случится перед тем, как произойдет последнее из пары событий `'disconnect'` и `'exit'`.
280
280
281
-
// Go through all workers
281
+
// Переберем все рабочие процессы
282
282
function eachWorker(callback) {
283
283
for (var id in cluster.workers) {
284
284
callback(cluster.workers[id]);
285
285
}
286
286
}
287
287
eachWorker(function(worker) {
288
-
worker.send('big announcement to all workers');
288
+
worker.send('Внимание внимание! Всем рабочим процессам!');
289
289
});
290
290
291
291
@@ -328,11 +328,11 @@ Cluster поддерживает два способа распределени
0 commit comments