thread-storm
v0.1.10
Published
Easy multithreading in node
Downloads
5
Maintainers
Readme
node-thread-storm
Multithreading in node. node-thread-storm allows you to run code simultaneously using node's cluster funcionality.
npm install thread-storm
Using the thread storm library is simple and straight forward. Below is a simple example. First, require the library.
threadStorm = require('thread-storm')
The next part might seem a little strange, but you need to return if threadStorm.isMaster flag is false;
if(!threadStorm.isMaster) {
return;
}
Start the library and wait for the background threads to be ready.
threadStorm.ee.on('ready', function() {
...do something
});
threadStorm.start();
Once the library is ready you can run tasks on the background threads as easy as
//returns boolean. True if thread was available, false if not
threadStorm.runTask("someFile.js",{someKey: "some value"});
The first arg is the path and name of a JS files of code u want run.
The second arg will be passed as the first argument to your function.
The second arg passed to your function will be the module.exports of a job runner which are methods as follows: taskCommunicator (to pass data back to your main code) completed (to be called when your background code finished. If you ever want it to finish and free up the thread for other jobs.)
your javascript file might look something like this:
module.exports = function(sessionData,parent) {
setTimeout(function() {
parent.completed();
},10000);
};
you can also listen to the following events from threadStorm.ee
msg - get a message from the task running
taskFailed - called when your task fails (if the thread dies unexpectedly)
taskComplete - called when your tasks completes