diff options
Diffstat (limited to 'node_modules/tiny-worker/README.md')
-rw-r--r-- | node_modules/tiny-worker/README.md | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/node_modules/tiny-worker/README.md b/node_modules/tiny-worker/README.md deleted file mode 100644 index b73787334..000000000 --- a/node_modules/tiny-worker/README.md +++ /dev/null @@ -1,115 +0,0 @@ -# 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. - -[![build status](https://secure.travis-ci.org/avoidwork/tiny-worker.svg)](http://travis-ci.org/avoidwork/tiny-worker) - -## Example -#### Creating a Worker from a file -The worker script: -```javascript -onmessage = function (ev) { - postMessage(ev.data); -}; -``` - -The core script: -```javascript -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 -```javascript -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!"); -``` - -# Debugging -To be able to debug a child process, it must have a differnt debug port than the parent. -Tiny worker does this by adding a random port within a range to the parents debug port. -The default Range is `[1, 300]`, it can be changed with the `setRange(min, max)` method. -To disable any automatic port redirection set `options.noDebugRedirection = true`. - -### automatic redirection -```javascript -//parent is started with '--debug=1234' -var Worker = require("tiny-worker"); -Worker.setRange(2, 20); - -var worker = new Worker(function () { - postMessage(process.debugPort); -}); - -worker.onmessage = function (ev) { - console.log(ev.data); //prints any number between 1236 and 1254 - worker.terminate(); -} -``` - -### manual redirection -```javascript -//parent is started with '--debug=1234' -var Worker = require("tiny-worker"); - -var worker = new Worker(function () { - postMessage(process.debugPort); -}, [], {noDebugRedirection: true, execArgv: ["--debug=1235"]}); - -worker.onmessage = function (ev) { - console.log(ev.data); //prints 1235 - worker.terminate(); -} -``` - -## 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` - -#### static setRange(min, max) -Sets range for debug ports, only affects current process. -Returns true if successful. - -## FAQ -1. I have an orphaned child process that lives on past the parent process' lifespan - * Most likely a `SIGTERM` or `SIGINT` is not reaching the child process -2. How do I insure all process are terminated? - * In your core script register a listener for `SIGTERM` or `SIGINT` via `process.on()` which terminates (all) worker process(es) and then gracefully shutdowns via `process.exit(0);` -3. Why `SIGTERM` or `SIGINT`? - * Unix/BSD will work with `SIGTERM`, but if you also need to support Windows use `SIGINT` - -## License -Copyright (c) 2017 Jason Mulligan -Licensed under the BSD-3 license |