Lines Matching refs:worker
24 const Worker = require('internal/cluster/worker');
99 for (const worker of ObjectValues(cluster.workers)) {
100 if (worker.state === 'online' || worker.state === 'listening') {
101 process._debugProcess(worker.process.pid);
103 worker.once('online', function() {
142 function removeWorker(worker) {
143 assert(worker);
144 delete cluster.workers[worker.id];
152 function removeHandlesForWorker(worker) {
153 assert(worker);
156 if (handle.remove(worker))
165 const worker = new Worker({
170 worker.on('message', function(message, handle) {
174 worker.process.once('exit', (exitCode, signalCode) => {
176 * Remove the worker from the workers list only
180 if (!worker.isConnected()) {
181 removeHandlesForWorker(worker);
182 removeWorker(worker);
185 worker.exitedAfterDisconnect = !!worker.exitedAfterDisconnect;
186 worker.state = 'dead';
187 worker.emit('exit', exitCode, signalCode);
188 cluster.emit('exit', worker, exitCode, signalCode);
191 worker.process.once('disconnect', () => {
194 * associated with this worker because it is
197 removeHandlesForWorker(worker);
200 * Remove the worker from the workers list only
204 if (worker.isDead())
205 removeWorker(worker);
207 worker.exitedAfterDisconnect = !!worker.exitedAfterDisconnect;
208 worker.state = 'disconnected';
209 worker.emit('disconnect');
210 cluster.emit('disconnect', worker);
213 worker.process.on('internalMessage', internal(worker, onmessage));
214 process.nextTick(emitForkNT, worker);
215 cluster.workers[worker.id] = worker;
216 return worker;
219 function emitForkNT(worker) {
220 cluster.emit('fork', worker);
229 for (const worker of ObjectValues(cluster.workers)) {
230 if (worker.isConnected()) {
231 worker.disconnect();
249 const worker = this;
254 fn(worker, message);
257 function online(worker) {
258 worker.state = 'online';
259 worker.emit('online');
260 cluster.emit('online', worker);
263 function exitedAfterDisconnect(worker, message) {
264 worker.exitedAfterDisconnect = true;
265 send(worker, { ack: message.seq });
268 function queryServer(worker, message) {
269 // Stop processing if worker already disconnecting
270 if (worker.exitedAfterDisconnect)
308 handle.add(worker, (errno, reply, handle) => {
314 send(worker, {
324 function listening(worker, message) {
332 worker.state = 'listening';
333 worker.emit('listening', info);
334 cluster.emit('listening', worker, info);
337 // Server in worker is closing, remove from list. The handle may have been
339 function close(worker, message) {
343 if (handle && handle.remove(worker))
347 function send(worker, message, handle, cb) {
348 return sendHelper(worker.process, message, handle, cb);