slave
Slave is a tiny utility to allow you to create long-running slave processes for your node process and use these functions as promises. Create modules that run in separate processes without anyone even knowing!
Walkthrough
Wrap your function in a slave. The function must either:
- Be a co-based generator function
- A function that returns a promise
- A synchronous function
Now, create a separate my-module/slave.js
file:
var slave = ;var fn = ; // my main module; // it's wrapped!
Now you can create a my-module/master.js
file,
which runs slave.js
:
var master = ;moduleexports =
Now users have two ways to use this module. Directly:
var fn = ; ;
Using child processes:
var fn = ; ;
API
var fn = slave.master(slavepath, [options])
Create a function from a slavepath
,
which exports a slave.slave()
function.
Options are:
forks=0
- number of child processes to initiate immediately
fn
will always return a promise,
even if the wrapped function is synchronous.
fn.fork()
Create a new child process.
slave.slave(fn)
Hooks a function into process
to allow the parent process to listen.