GithubHelp home page GithubHelp logo

bagpipe's Introduction

Hi there 👋

Here are some ideas to get you started:

bagpipe's People

Contributors

bitdeli-chef avatar dependabot[bot] avatar gilboom avatar jacksontian avatar piperchester avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bagpipe's Issues

源码的注释错误

  • 第 75 行:
    // 队列长度也超过限制值时
    if (this.queue.length < this.queueLength || !this.options.refuse) {
      this.queue.push({
        method: method,
        args: args
      });
    } else {

是不是想说:

    // 队列长度不超过限制值时
  • 第 99 行:
    next() {
        // 没到限制,或者没有排队
        if (this.active >= this.limit || !this.queue.length) {
            return;
        }

这里的 没到限制,或者没有排队 是解释下面的 if 语句?说不通啊。

English Documentation

It would be nice if the other part of the world who understand English, be able to read the documentation.

你好,咨询一个超时的问题

如果一次性异步读取10个文件,设置了超时时间之后,读取了2个文件,后续8个文件确实超时了,但是只是代码上超时了,实际上IO还是去读取了,读取完成之后还是会调用注入的函数,在arguments中还是存在已经读取出来的文件内容,是否有办法终止这些文件的读取?

在 docker 里构建镜像时经常在处理 bagpipe 时卡住很长时间

bagpipepip install cnpm 时被作为依赖引入,--verbose 的打印显示

npm verb addTmpTarball /tmp/npm-1-9ee1d10d/registry.npmjs.org/bagpipe/-/bagpipe-0.3.5.tgz not in flight; adding
npm verb addTmpTarball already have metadata; skipping unpack for [email protected]
npm verb afterAdd /root/.npm/bagpipe/0.3.5/package/package.json not in flight; writing
npm verb afterAdd /root/.npm/bagpipe/0.3.5/package/package.json written

看上去也没有什么问题,但是就会一直卡在这里,看了下 npm 好像包也不是很大,请问是因为 bagpipe 需要很长的构建时间吗?

关于文件描述符和数据库连接池

你好:
我看到你写的真实案例中提到了文件描述符,我想问下文件描述符和数据库连接池有什么关系没,关于你真实案例中的问题,能不能用数据库连接池解决?

排队的任务没有执行

一共有100个任务,Bagpipe的并发数设置为5。后面95个任务在队列排队。但前5个任务执行完成后,后面95个任务都没有执行,一致在阻塞。

并发数限制问题

我限制了并发数5个,为什么不会接着往下执行了。我的期望是,当前5个结束自动开始下5个,或者结束1个开始1个,始终保持最多5个任务。

理解

var bagpipe = new Bagpipe(10);
for (var i = 0; i < 100; i++) {
bagpipe.push(async, function () {

});
}

如果实际控制时这么写,那本质上是不相当于 Bagpipe维护一个了一个队列,限制并发数为最多10个,然后队列长度为100,10个并发处理完成,下10个进入处理,新任务进入队列,是这么理解么

看了下push方法,如果参数没有callback应该会报错吧。

Bagpipe.prototype.push = function (method) {
  var args = [].slice.call(arguments, 1);
  var callback = args[args.length - 1];
  if (typeof callback !== 'function') {
    args.push(function () {});
  }

[代码。。。]

} else {
    var err = new Error('Too much async call in queue');
    err.name = 'TooMuchAsyncCallError';
    callback(err);
  }

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.