node-webworkers
is an implementation of the Web Workers API for node.js.
See the design document here.
var sys = require('sys');
var Worker = require('webworker');
var w = new Worker('foo.js');
w.onmessage = function(e) {
sys.debug('Received mesage: ' + sys.inspect(e));
w.terminate();
};
w.postMessage({ foo : 'bar' });
onmessage = function(e) {
postMessage({ test : 'this is a test' });
};
onclose = function() {
sys.debug('Worker shuttting down.');
};
Supported API methods are
postMessage(e)
in both workers and the parent; messages are in the parent if this is invoked before the child is fully initializedonmessage(e)
in both workers and the parentonerror(e)
in both workers and the parentterminate()
in the parentIn addition, some nonstandard APIs are provided
onclose()
in the worker (allows for graceful shutdown)postMessage()
method takes an additional optional file descriptor parameter, which will be sent with the message. This descriptor will be passed to onmessage
handlers as an optional fd
field. Handlers receiving messages posted without file descriptors will not see an fd
field. Both the parent and child can send file descriptors using this mechanism.Worker.onexit(code, signal)
in the master, which is invoked on the master Worker
object when the worker process exits.Worker
constructor takes an additional optional object argument, opts
, which is used as a dictionary of options with the following keys
args
: A string or array of strings to pass to the executable before the filename to invoke. This can be used to request that the worker start up in debug mode (e.g. { 'args' : '--debug-brk' }
). By default this is empty.path
: A string naming the executable to invoke for workers. By default this is the value of process.execPath
(e.g. node
or similar).This package can be installed via npm as follows
Note that this requires node-websocket-client v0.9.3 or later. This dependency will be handled automatically by npm
, but must be dealt with manually if installing using another procedure.
This package contains a static snapshot of Micheil Smith's excellent node-websocket-server with some fixes applied to handle UNIX sockets.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4