Socket
Socket
Sign inDemoInstall

bree

Package Overview
Dependencies
Maintainers
1
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bree - npm Package Compare versions

Comparing version 0.0.14 to 0.0.15

52

index.js

@@ -46,2 +46,3 @@ const { Worker } = require('worker_threads');

this.getWorkerMetadata = this.getWorkerMetadata.bind(this);
this.run = this.run.bind(this);

@@ -368,2 +369,16 @@ this.start = this.start.bind(this);

getWorkerMetadata(name, meta = {}) {
return this.workers[name]
? {
...meta,
worker: {
isMainThread: this.workers[name].isMainThread,
resourceLimits: this.workers[name].resourceLimits,
threadId: this.workers[name].threadId,
workerData: this.workers[name].workerData
}
}
: meta;
}
run(name) {

@@ -376,3 +391,4 @@ debug('run', name);

return this.config.logger.error(
new Error(`Job "${name}" is already running`)
new Error(`Job "${name}" is already running`),
this.getWorkerMetadata(name)
);

@@ -399,7 +415,13 @@ debug('starting worker', name);

this.workers[name].on('online', () => {
this.config.logger.info(`${prefix} online`);
this.config.logger.info(
`${prefix} online`,
this.getWorkerMetadata(name)
);
});
this.workers[name].on('message', (message) => {
this.config.logger.info(`${prefix} sent a message`, { message });
if (message === 'done') {
this.config.logger.info(
`${prefix} signaled completion`,
this.getWorkerMetadata(name)
);
this.workers[name].removeAllListeners('message');

@@ -409,15 +431,28 @@ this.workers[name].removeAllListeners('exit');

delete this.workers[name];
return;
}
this.config.logger.info(
`${prefix} sent a message`,
this.getWorkerMetadata(name, { message })
);
});
this.workers[name].on('messageerror', (err) => {
this.config.logger.error(`${prefix} had a message error`, { err });
this.config.logger.error(
`${prefix} had a message error`,
this.getWorkerMetadata(name, { err })
);
});
this.workers[name].on('error', (err) => {
this.config.logger.error(`${prefix} had an error`, { err });
this.config.logger.error(
`${prefix} had an error`,
this.getWorkerMetadata(name, { err })
);
});
this.workers[name].on('exit', (code) => {
delete this.workers[name];
this.config.logger[code === 0 ? 'info' : 'error'](
`${prefix} exited with code ${code}`
`${prefix} exited with code ${code}`,
this.getWorkerMetadata(name)
);
delete this.workers[name];
});

@@ -556,3 +591,4 @@ return;

this.config.logger.info(
`Gracefully cancelled worker for job "${name}"`
`Gracefully cancelled worker for job "${name}"`,
this.getWorkerMetadata(name)
);

@@ -559,0 +595,0 @@ this.workers[name].terminate();

2

package.json
{
"name": "bree",
"description": "The best job scheduler for Node.js with support for cron, ms, and human-friendly strings. Uses workers and spawns sandboxed processes. Supports async/await, retries, throttling, concurrency, and cancelable promises (graceful shutdown). Simple, fast, and the most lightweight tool for the job. Made for Lad.",
"version": "0.0.14",
"version": "0.0.15",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com/)",

@@ -6,0 +6,0 @@ "ava": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc