Skip to content

Instantly share code, notes, and snippets.

@sandeep-cs-dev
Last active September 30, 2024 23:57
Show Gist options
  • Save sandeep-cs-dev/bbe8fd0d60f81b3a3b4756155aa1e9de to your computer and use it in GitHub Desktop.
Save sandeep-cs-dev/bbe8fd0d60f81b3a3b4756155aa1e9de to your computer and use it in GitHub Desktop.

Revisions

  1. sandeep-cs-dev revised this gist Sep 30, 2024. No changes.
  2. sandeep-cs-dev created this gist Sep 29, 2024.
    25 changes: 25 additions & 0 deletions primary-shared-handle.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    const {
    fork
    } = require('child_process');
    const net = require('net');
    const os = require('os');
    const numCPUs = os.cpus().length;

    const workers = [];

    // Fork workers
    //const op = {execArgv: ['--inspect-brk=0']};

    for (let i = 1; i <= numCPUs; i++) {
    //const worker = fork('worker-shared-handle-policy.js',op);
    const worker = fork('worker-shared-handle-policy.js');
    workers.push(worker);
    }
    const serverHandle = net._createServerHandle(null, 8080, 4, null, null);

    // Pass the server handle to each worker
    workers.forEach(worker => {
    worker.send('server', serverHandle);
    });

    console.log(`Master has passed the handle to workers`);