Coder Social home page Coder Social logo

node-queue4's Introduction

queue

CI

Task (function) queue with concurrency / timeout control.

This is a fork of tj/node-queue3

I was doing maintenance on some libraries and ran into vulnerabilities reported by npm because of old versions of dependencies in queue3.

This fork:

  • bumps versions of debug and superagent
  • migrates the tests to tape for simplicity and ease of debugging
  • updates the example to work with the new superagent api
  • removes the Makefile - to run tests do npm test

There have been no changes to the module code in index.js.

  • The version number in pacakage.json was bumped to 1.0.4 since the original queue3 on npm reports 1.0.3.
  • July 13, 2019: bumped to 1.0.5 with updated deps and example, and CI
  • Feb 16, 2020: bumped to 1.0.6 with updated deps and CI on github
  • Apr 25, 2020: bumped to 1.0.7 with updated deps
  • Jul 26, 2020: bumped to 1.0.8 with updated deps
  • Nov 8, 2020: bumped to 1.0.9 with updated deps
  • Jan 16, 2022: bumped to 1.0.10 with updated deps

Installation

$ npm install queue4

Example

var request = require('superagent');
var Queue = require('./');
var q = new Queue({ concurrency: 3, timeout: 1000 });

var urls = [
  'https://google.com',
  'https://yahoo.com',
  'https://ign.com',
  'https://msn.com',
  'https://hotmail.com',
  'https://cloudup.com',
  'https://learnboost.com'
];

var id = setInterval(function(){
  urls.forEach(function(url){
    q.push(function(fn){
      console.log('%s', url);
      request.get(url, function(err, res){
        console.log('%s -> %s %s',
          url,
          (res && res.status) || 'no response',
          (err && err.message) || 'OK');
        fn();
      });
    });
  });
}, 5000);

var tid = setInterval(function(){
  console.log('%s queued', q.length);
}, 1000);

setTimeout(function(){
  console.log('shutting down');
  clearInterval(id);
  clearInterval(tid);
}, 15000);

License

MIT

node-queue4's People

Contributors

jldec avatar tj avatar forbeslindesay avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.