Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
tiny-worker
Advanced tools
Readme
Tiny WebWorker for Server
require()
is available for flexible inline Worker scripts. Optional parameters args
Array & options
Object; see child_process.fork()
documentation.
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!");
The worker helper script (helper.js):
export const dataFormatter = (data) => {
return `${data} World!`;
};
The worker script (repeat.js):
import { dataFormatter } from "./helper";
onmessage = function (ev) {
const data = dataFormatter(ev.data);
postMessage(data);
};
The core script:
var Worker = require("tiny-worker");
var worker = new Worker("repeat.js", [], {esm: true});
worker.onmessage = function (ev) {
console.log(ev.data);
worker.terminate();
};
worker.postMessage("Hello");
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!");
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
.
//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();
}
//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();
}
Message handler, accepts an Event
Error handler, accepts an Event
Adds an event listener
Broadcasts a message to the Worker
Terminates the Worker
Sets range for debug ports, only affects current process. Returns true if successful.
SIGTERM
or SIGINT
is not reaching the child processSIGTERM
or SIGINT
via process.on()
which terminates (all) worker process(es) and then gracefully shutdowns via process.exit(0);
SIGTERM
or SIGINT
?SIGTERM
, but if you also need to support Windows use SIGINT
Copyright (c) 2019 Jason Mulligan Licensed under the BSD-3 license
FAQs
Tiny WebWorker for Server
The npm package tiny-worker receives a total of 122,134 weekly downloads. As such, tiny-worker popularity was classified as popular.
We found that tiny-worker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.