0.0.15 • Published 7 years ago

fluster v0.0.15

Weekly downloads
1
License
Apache-2.0
Repository
-
Last release
7 years ago

fluster Build Status Test Coverage

fluster is a friendly wrapper for node's cluster module. it allows you to schedule any number of threads and seed them with data via ipc at boot or at intervals.

example
var fluster = require('fluster')
var mycluster = fluster({
  cluster: {
    // bind arbitrary cluster events
    on: {
      // message
      // online
      // exit
      // disconnect
      // fork
      // setup
      // listening
    }
  },
  workers: {
    // select a script to run in many threads
    exec: 'my-worker.js',
    // workers respawn with values from `workers.data` by default
    respawn: false,
    // omit `workers.limit` to scale to your cpu core count
    limit: 5,
    // each key in this object will trigger a process#onmessage event in your worker
    data: {
      somedata: {
        value: [1, 2, 3, 4, 5, 6]
      },
      someotherdata: {
        every: 1000 * 60 * 60,
        exec: function(send) {
          businesslogic(function(err, res) {
            // store the value for posterity
            this.value = res || this.value
            send(err, res)
          }.bind(this))
        }
      },
      // specify an event emitter and functions to transform the
      // data that gets sent to workers when the event is emitted
      myemitter: {
        on: {
          data: function(data) {
            return data.toString('utf8')
          }
        },
        of: getAnEventEmitterSomehow()
      }
    },
    // bind arbitrary worker events
    on: {
      // message
      // online
      // exit
      // disconnect
      // fork
      // error
      // listening
    }
  }
})
0.0.15

7 years ago

0.0.14

8 years ago

0.0.13

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago

0.0.0

8 years ago