Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including cluster-server with all npm packages installed. Try it out:

var clusterServer = require("cluster-server")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

cluster-server v0.0.5

Simple multi-CPU cluster server manager for Node 0.6+


Simple multi-CPU cluster server manager for Node 0.6+


npm i cluster-server


    // require('cluster-server')(port, host, cb);
    // port defaults to 8888, host defaults to ""
    require('cluster-server')(function() {
      var express = require('express');
      var app = express.createServer();
      app.get('/', function(req, res) {
        return res.send("Hello, World");
      return app; // calls app.listen(port, host) automatically


This module pre-forks several workers, calls the supplied function in each of the workers, and pings each worker every second to restart any workers that were stuck or terminated.

The number of workers is require('os').cpus().length, with a minimum of 3 and a maximum of 6.

It also handles INT, TERM, KILL and QUIT signals and terminates the workers accordingly. However, setsid(1) is still recommended so workers can terminate when the master is killed by an non-catchable signal.

See Also


(Same idea, but without polling for "stuck" workers)


To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to node-cluster-server.

This work is published from Taiwan.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free