1.3.8 • Published 10 years ago

bauer-cluster v1.3.8

Weekly downloads
12
License
MIT
Repository
github
Last release
10 years ago

bauer-cluster

Multi-process development library.

Installation

npm install bauer-cluster

Usage

var Cluster = require("bauer-cluster").Cluster;

var myCluster = new Cluster();

// executed when in main process
myCluster.master(function() {
  
  this === myCluster // true
  
  this.isMaster; // true
  this.isWorker; // false

  var worker = this.fork("one","two");

  worker.args; // ["one","two"]
  worker.process; // child process produced by fork
  
  worker.on("message",function(message) {
    if (message.pong) {
      worker.send({ ping: true });
    }
  });
  
  worker.send({ ping: true });

});

// executed when in child process
myCluster.worker(function(worker) {

  this === myCluster // true
  
  this.isMaster; // false
  this.isWorker; // true

  worker.args; // ["one","two"]
  worker.process; // global process object
  
  worker.on("message",function(message) {
    if (message.ping) {
      worker.send({ pong: true });
    }
  });

});

myCluster.start();

API Summary

  • Cluster
    • new Cluster() :Cluster
    • .getWorkerArgsOffset() :Number
    • .require(name String) :void
    • .master(callback Function) :void
    • .worker(callback Function) :void
    • .start() :void
    • .fork(arg0, arg1, ...) :Worker
    • .removeWorker(worker Worker) :void
    • .createWorker(uuid String, args Array) :Worker
    • .createWorker(uuid String, args Array, process Object) :Worker
  • Worker
    • new Worker(cluster Cluster, uuid String, args Array, process Object) :Worker
    • .setupProcess(proc) :void
    • .require(name String) :void
    • .kill(signal Number) :void
    • .die(reason Number|Error) :void
    • .send(message Object) :void
    • .receive(message Object) :void

License

MIT

1.3.8

10 years ago

1.3.7

10 years ago

1.3.6

10 years ago

1.3.5

10 years ago

1.3.4

10 years ago

1.3.3

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.4

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago

1.0.2

11 years ago

1.0.1

11 years ago

1.0.0

11 years ago

0.1.0

11 years ago