Socket
Socket
Sign inDemoInstall

express-queue

Package Overview
Dependencies
65
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    express-queue

Express middleware to limit a number of simultaneously processing requests using queue


Version published
Weekly downloads
7.5K
decreased by-10.05%
Maintainers
1
Install size
412 kB
Created
Weekly downloads
 

Readme

Source

npm version Build Status Coverage Status Code Climate Inch CI

Dependency Status devDependency Status

Known Vulnerabilities

express-queue

Express middleware to limit a number of simultaneously processing requests using queue

If you have different needs regarding the functionality, please add a feature request.

Installation

npm install --save express-queue

Usage

var express = require('express');
var queue = require('express-queue');
var app = express();

// Using queue middleware
app.use(queue({ activeLimit: 2, queuedLimit: -1 }));
// activeLimit - max request to process simultaneously
// queuedLimit - max requests in queue until reject (-1 means do not reject)
// rejectHandler - handler to call when queuedLimit is reached (see below) 
//
// May be also:
// app.get('/api', queue({ activeLimit: 2, queuedLimit: -1})

You can access MiniQueue object used internally. To get current queue length you may do following:

const express = require('express');
const expressQueue = require('../');
const queueMw = expressQueue({ activeLimit: 2, queuedLimit: -1 });

const app = express();
app.use(queueMw);

console.log(`queueLength: ${queueMw.queue.getLength()}`);

For more info on Queue object used refer to npmjs.com/package/mini-queue package docs and/or source code.

Reject handler

If you set queuedLimit, when the queue is full, the middleware will reject any incoming request. The default handler will send a 503 status code, but you can setup your own handler with rejectHandler option, e.g.:

  const queueMw = expressQueue({ activeLimit: 2, queuedLimit: 6, rejectHandler: (req, res) => { res.sendStatus(500); } });

Example

Please, refer to ./examples/ directory for a working example.

Credits

Alexander

github.com   npmjs.com   travis-ci.org   coveralls.io   inch-ci.org

License

MIT

Keywords

FAQs

Last updated on 31 Mar 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc