Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
ready-callback
Advanced tools
Launch server after all async task ready
$ npm install ready-callback
Note: ready-callback is using class
, so you should use node>=2
var koa = require('koa');
var ready = require('ready-callback')();
var app = koa();
ready.mixin(app);
// register a service
var done = app.readyCallback('service');
serviceLaunch(done);
// callback will be fired after all service launched
app.ready(function() {
app.listen();
});
If task is called with error, error
event will be emit, ready
will never be called.
// register a service that will emit error
var done = app.readyCallback('service');
serviceLaunch(function(err) {
done(err);
});
// listen error event
app.on('error', function(err) {
// catch error
});
If you set a task weak dependency, task will be done without emit error
.
var done = app.readyCallback('service', {isWeakDep: true});
serviceLaunch(function(err) {
done(err);
});
// will be ready
app.ready(function() {
app.listen();
});
app.on('error', function(err) {
// never be called
});
You can also set for all ready-callback
var ready = require('ready-callback')({isWeakDep: true});
You can get status every callback end.
app.on('ready_stat', function(data) {
console.log(data.id); // id of the ended task
console.log(data.remain); // tasks waiting to be ended
});
You can set timeout when a task run a long time.
var ready = require('ready-callback')({timeout: 1000});
ready.mixin(app);
app.on('ready_timeout', function(id) {
// this will be called after 1s that `service` task don't complete
});
var done = app.readyCallback('service');
serviceLaunch(function() {
// run a long time
done();
});
You can also set timeout for every task
ready.mixin(app);
app.on('ready_timeout', function(id) {
// this will be called after 1s that `service` task don't complete
});
var done = app.readyCallback('service1', {timeout: 1000});
serviceLaunch(done);
You can set a ready-callback object to lazyStart. It will not check ready status immediately, and should start manualy to check ready status.
var ready = require('ready-callback')({ lazyStart: true });
yield sleep(1);
// ready obj is not ready
ready.start();
yield sleep(1);
// ready obj is ready now
Copyright (c) 2015 popomore. Licensed under the MIT license.
FAQs
Launch server after all async task ready
The npm package ready-callback receives a total of 18,570 weekly downloads. As such, ready-callback popularity was classified as popular.
We found that ready-callback demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.