Package Exports
- tiny-worker
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tiny-worker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
tiny-worker
Tiny WebWorker for Server
require() is available for flexible inline Worker scripts. Optional parameters args Array & options Object; see child_process.fork() documentation.
Example
Creating a Worker from a file
The worker script:
onmessage = function (ev) {
postMessage(ev.data);
};The core script:
var Worker = require("tiny-worker");
var worker = new Worker("repeat.js");
worker.onmessage = function (ev) {
console.log(ev.data);
worker.terminate();
};
worker.postMessage("Hello World!");Creating a Worker from a Function
var Worker = require("tiny-worker");
var worker = new Worker(function () {
self.onmessage = function (ev) {
postMessage(ev.data);
};
});
worker.onmessage = function (ev) {
console.log(ev.data);
worker.terminate();
};
worker.postMessage("Hello World!");Properties
onmessage
Message handler, accepts an Event
onerror
Error handler, accepts an Event
API
addEventListener(event, fn)
Adds an event listener
postMessage()
Broadcasts a message to the Worker
terminate()
Terminates the Worker
FAQ
- I have an orphaned child process that lives on past the parent process' lifespan
- Most likely a
SIGTERMorSIGINTis not reaching the child process
- How do I insure all process are terminated?
- In your core script register a listener for
SIGTERMorSIGINTviaprocess.on()which terminates (all) worker process(es) and then gracefully shutdowns viaprocess.exit(0);
- Why
SIGTERMorSIGINT?
- Unix/BSD will work with
SIGTERM, but if you also need to support Windows useSIGINT
License
Copyright (c) 2017 Jason Mulligan Licensed under the BSD-3 license