Coder Social home page Coder Social logo

huan / rx-queue Goto Github PK

View Code? Open in Web Editor NEW
73.0 4.0 7.0 380 KB

Easy to Use RxJS Queue for Throttle/Debounce/Delay/DelayExecute

Home Page: https://paka.dev/npm/rx-queue

License: Apache License 2.0

Shell 5.42% TypeScript 31.83% JavaScript 62.75%
rxjs ixjs queue concurrency executer

rx-queue's Introduction

RX-QUEUE

NPM Windows Build status NPM Version Downloads Powered by TypeScript

Easy to Use ReactiveX Queue that Supports Delay/DelayExecutor/Throttle/Debounce Features Powered by RxJS.

RxQueue

Picture Credit: Queues in JavaScript

API

Class

  1. RxQueue
  2. DelayQueue
  3. ThrottleQueue
  4. DebounceQueue
  5. DelayQueueExecutor

Function

  1. concurrencyExecuter()

RxQueue

RxQueue is the base class of all other queues. It extends from RxJS Subject.

Example:

import { RxQueue } from 'rx-queue'

const queue = new RxQueue()
queue.next(1)
queue.next(2)
queue.next(3)

queue.subscribe(console.log)
// Output: 1
// Output: 2
// Output: 3

DelayQueue

DelayQueue passes all the items and add delays between items.

DelayQueue

Picture Credit: ReactiveX Single Operator Delay

Practical examples of DelayQueue:

  1. We are calling a HTTP API which can only be called no more than ten times per second, or it will throw a 500 error.

Example:

import { DelayQueue } from 'rx-queue'

const delay = new DelayQueue(500)  // set delay period time to 500 milliseconds
delay.subscribe(console.log)

delay.next(1)
delay.next(2)
delay.next(3)

// Output: 1
// Paused 500 millisecond...
// Output: 2
// Paused 500 millisecond...
// Output: 3

ThrottleQueue

ThrottleQueue passes one item and then drop all the following items in a period of time.

ThrottleQueue

Picture Credit: ReactiveX Observable Throttle

By using throttle, we don't allow to our queue to pass more than once every X milliseconds.

Practical examples of ThrottleQueue:

  1. User is typing text in a textarea. We want to call auto-save function when user is typing, and want it only run at most once every five minutes.

Example:

import { ThrottleQueue } from 'rx-queue'

const throttle = new ThrottleQueue(500)  // set period time to 500 milliseconds
throttle.subscribe(console.log)

throttle.next(1)
throttle.next(2)
throttle.next(3)

// Output: 1

DebounceQueue

DebounceQueue drops a item if there's another one comes in a period of time.

DebounceQueue

Picture Credit: ReactiveX Observable Debounce

The Debounce technique allow us to deal with multiple sequential items in a time period to only keep the last one.

Debouncing enforces that no more items will be passed again until a certain amount of time has passed without any new items coming.

Practical examples of DebounceQueue:

  1. User is typing text in a search box. We want to make an auto-complete function call only after the user stop typing for 500 milliseconds.

Example:

import { DebounceQueue } from 'rx-queue'

const debounce = new DebounceQueue(500)  // set period time to 500 milliseconds
debounce.subscribe(console.log)

debounce.next(1)
debounce.next(2)
debounce.next(3)

// Paused 500 millisecond...
// Output: 3

DelayQueueExecutor

DelayQueueExecutor calls functions one by one with a delay time period between calls.

If you want this feature but do not want rxjs dependencies, you can have a look on a zero dependencies alternative: [BottleNeck](https://github.com/SGrondin/bottleneck)

DelayQueueExecutor

Picture Credit: ReactiveX Single Operator Delay

Practical examples of DelayQueueExecutor:

  1. We are calling a HTTP API which can only be called no more than ten times per second, or it will throw a 500 error.

Example:

import { DelayQueueExecutor } from 'rx-queue'

const delay = new DelayQueueExecutor(500)  // set delay period time to 500 milliseconds

delay.execute(() => console.log(1))
delay.execute(() => console.log(2))
delay.execute(() => console.log(3))

// Output: 1
// Paused 500 millisecond...
// Output: 2
// Paused 500 millisecond...
// Output: 3

concurrencyExecuter()

When we have a array and need to use an async function to get the result of them, we can use Promise.all():

const asyncTask = async function (item) {
  /**
   * Some heavy task, like:
   *  1. requires XXX MB of memory
   *  2. make 10+ new network connections and each takes 10+ seconds
   *  3. etc.
   */
}

const result = await Promise.all(
  hugeArray.map(item => asyncTask),
)

Because the above example asyncTask requires lots of resource for each task, so if the hugeArray has many items, like 1,000+, then to use the Promise.all will very likely to crash the system.

The solution is that we can use concurrencyExecuter() to execute them in parallel with a concurrency limitation.

// async task:
const heavyTask = (n: number) => Promise.resolve(resolve => setTimeout(resolve(n^2), 100))

const results = concurrencyExecuter(
  2,          // concurrency
)(
  heavyTask,  // task async function
)(
  [1, 2, 3],  // task arguments
)

/**
 * in the following `for` loop, we will have 2 currency tasks running at the same time.
 */
for await (const result of results) {
  console.log(result)
}

That's it.

SEE ALSO

CHANGELOG

main v1.0 (Nov 23, 2021)

  1. ES Module Support
  2. TypeScript 4.5
  3. concurrencyExecuter() method added

v0.12 - May 2021

  1. Upgrade RxJS to v7.1
  2. Upgrade TypeScript to v4.3
  3. Fix RxJS breaking changes #71

v0.8 - Mar 2019

  1. Fix typo: issue #40 - rename DelayQueueExector to DelayQueueExecutor

v0.6 - Sep 2018

  1. fix exception bug in browser(ie. Angular)

v0.4 - May 2018

  1. Upgrade to RxJS 6
  2. Moved CI from Travis-ci.org to Travis-ci.com

v0.2 - Oct 30, 2017

  1. Support: DelayQueue, ThrottleQueue, DebounceQueue, DelayQueueExecutor.
  2. first version

AUTHOR

Huan LI (李卓桓) <[email protected]>

Profile of Huan LI (李卓桓) on StackOverflow

COPYRIGHT & LICENSE

  • Code & Docs © 2017-now Huan LI <[email protected]>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

rx-queue's People

Contributors

carlosdelfino avatar dependabot-preview[bot] avatar dependabot[bot] avatar greenkeeper[bot] avatar huan avatar voy 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

Watchers

 avatar  avatar  avatar  avatar

rx-queue's Issues

Windowed FiFo Queue

I started to write a FIFO queue that works with a window concept, ie it has all the features of the common FIFO, however I can delimit a content perception window.

Entering data they will enter the QUEUE and exit according to the limit of the size allowed for it, but whenever you query an item in index 0 for example will return the first item that the window allows. if item 5 is requested, the fifth intem of the window will be returned.

The other option I am analyzing is that I can have a DataView, or WindowView, object that would view this FIFO as if it were an independent FIFO but actions on it only occur in the perception window.

Below is an image that speaks more than all this explanation.
image
Credit: https://www.cse.iitk.ac.in/users/dheeraj/cs425/lec09.html

thanks.

An in-range update of rollup is breaking the build 🚨

The devDependency rollup was updated from 1.10.1 to 1.11.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Release Notes for v1.11.0

2019-05-03

Features

  • Add emitChunk plugin context function to emit additional entry chunks that can be referenced from the code (#2809)
  • Allow manualChunks to be a function (#2831)
  • Omit .js extensions in AMD imports to make sure an AMD baseUrl would work (#2809)
  • Automatically use the name of the imported module as a base for dynamically imported chunks (#2809)
  • Add resolveFileUrl plugin hook to replace resolveAssetUrl and handle emitted chunks as well (#2809)
  • Add resolve plugin hook to replace resolveId and isExternal that returns an object (#2829)
  • Allow resolveDynamicImport to return an {id, external} object to also resolve unresolvable dynamic imports to a module (#2829)

Bug Fixes

  • Do not create invalid code if a dynamic import contains nothing but reexports (#2809)
  • Do not fail if modules that define a manual chunk depend on each other (#2809)
  • Do not fail if a module that defines a manual chunk is the dependency of a module defining a different manual chunk (#2809)
  • No longer fail for unnamed duplicate entry points but combine them (#2809)
  • Always return string | null from this.resolveId even if some resolveId hooks return objects (#2829)
  • Show proper warnings when resolveDynamicImport resolves to a non-external module that does not exist (#2829)

Pull Requests

Commits

The new version differs by 12 commits.

  • 61a7947 1.11.0
  • 20222ce Run npm test on appveyor again
  • e5f45d2 Update changelog
  • 5a5ccc8 Update dependencies (#2833)
  • c4d8440 Update changelog
  • d96a846 Manual chunks function (#2831)
  • 856707c Improve id resolution (#2829)
  • 18829da Add hook for dynamic entry chunk emission (#2809)
  • 980903b Update changelog
  • 933b322 Also mention code and map in the generateBundle hook documentation (#2832)
  • 0441723 Update changelog
  • 4b4ace3 Docs: Fix syntax error (#2821)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @types/sinon is breaking the build 🚨

The devDependency @types/sinon was updated from 7.0.11 to 7.0.12.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@types/sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

upgrade to v1 start with error: cannot find module 'ix/asynciterable/index.js

I am using v9.12.6

But when I change it to v1 I get this error. Why is that? Compiler config issue?

Error: Cannot find module 'ix/asynciterable/index.js'
    at webpackMissingModule (/Users/jakehe/Code/pam-app/.webpack/main/index.js:217964:89)
    at Object../node_modules/rx-queue/dist/cjs/src/concurrency-executor/concurrency-executer.js (/Users/jakehe/Code/pam-app/.webpack/main/index.js:217964:189)
    at __webpack_require__ (/Users/jakehe/Code/pam-app/.webpack/main/index.js:219154:42)
    at Object../node_modules/rx-queue/dist/cjs/src/mod.js (/Users/jakehe/Code/pam-app/.webpack/main/index.js:218181:33)
    at __webpack_require__ (/Users/jakehe/Code/pam-app/.webpack/main/index.js:219154:42)
    at Object../src/iot/utils/reconnectQueue.ts (/Users/jakehe/Code/pam-app/.webpack/main/index.js:213324:18)
    at __webpack_require__ (/Users/jakehe/Code/pam-app/.webpack/main/index.js:219154:42)
    at Object../src/iot/connection.ts (/Users/jakehe/Code/pam-app/.webpack/main/index.js:211533:24)
    at __webpack_require__ (/Users/jakehe/Code/pam-app/.webpack/main/index.js:219154:42)
    at Object../src/iot/index.ts (/Users/jakehe/Code/pam-app/.webpack/main/index.js:211779:31)
```

An in-range update of sinon is breaking the build 🚨

Version 5.0.10 of sinon was just published.

Branch Build failing 🚨
Dependency sinon
Current Version 5.0.9
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Commits

The new version differs by 9 commits.

  • 4313d2d Update docs/changelog.md and set new release id in docs/_config.yml
  • e21c92a Add release documentation for v5.0.10
  • 41d0dcb 5.0.10
  • 928379c Update History.md and AUTHORS for new release
  • 5ca48d3 Merge pull request #1802 from ifrost/feature/restore-default-sandbox-fake-timers
  • 087bc1c Cache reverse function
  • d19a4c0 Add issue number
  • 6799e1c Use fakeTimers in the default sandbox
  • 8b6f8a8 Revert spied fakeTimers to original state

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of rollup is breaking the build 🚨

Version 0.59.1 of rollup was just published.

Branch Build failing 🚨
Dependency rollup
Current Version 0.59.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details
  • continuous-integration/travis-ci/push The Travis CI build passed Details

Commits

The new version differs by 5 commits.

  • 6fdc744 0.59.1
  • d0de715 Merge branch 'missing-space'
  • a8a9800 Merge branch 'circular-get-value'
  • 4e8435c Resolve #2191: Add spaces after return and yield if necessary
  • e69fbf2 Add circularity prevention to getLiteralValueAtPath

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of semver is breaking the build 🚨

The devDependency semver was updated from 6.0.0 to 6.1.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

semver is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Commits

The new version differs by 7 commits.

  • 0aea9ca 6.1.0
  • 7b072bd Range intersect supports wildcards and ~
  • 78ea02a tap@14
  • 62b21ed Remove --save option as it isn't required anymore
  • 93c2f2d Clarify some ^0.0.x & ~.0.0.x cases
  • e09ecf8 Clarify Caret Ranges
  • a3bcc39 Add semver.compareBuild function.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of rollup is breaking the build 🚨

The devDependency rollup was updated from 1.9.2 to 1.9.3.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Release Notes for v1.9.3

2019-04-10

Bug Fixes

  • Simplify return expressions that are evaluated before the surrounding function is bound (#2803)

Pull Requests

  • #2803: Handle out-of-order binding of identifiers to improve tree-shaking (@lukastaegert)
Commits

The new version differs by 3 commits.

  • 516a06d 1.9.3
  • a5526ea Update changelog
  • c3d73ff Handle out-of-order binding of identifiers to improve tree-shaking (#2803)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

using DebounceQueue to have a more elegant method that avoid calling functions repeatedly

Hello, I found your project very good.

I believe in his success and thanks for sharing the code openly.

I tried using DebounceQueue to have a more elegant method that avoid calling functions repeatedly in NativeScript, but it did not work that expected, I read your page on npmjs.com.

Could you give me an example if it is possible to use it for this type of application?

class Page extends BasePage {

  private connectDebounce: DebounceQueue;
  private heartRateIntervalID: number;
  private lastsplice: number = 0;

  private constructor() {
    super();
    this.connectDebounce = new DebounceQueue(1000);
      this.connectDebounce.subscribe(this.connectDebounced);
  }
   public connectDebounced(arg:EventData){
      // realconnect
   } 

// called by user action on NativeScript Page.
  public connect(arg:EventData){
      this.connectDebounce.next(arg);
   }
}

Thank you.

Issues with compilerOptions: target: ES2015

Hello, I am having an issue. I am using Angular 9 with ES2015. If I change to ES5, there are no issues. I'd prefer not to have to change my target from ES2015 to ES5. Is there any other work around?

Specifically, I am seeing the below error when trying to instantiate a new QueueDelayExecuter.

Error: Class constructor Subject cannot be invoked without 'new'

typo in exported class

DelayQueueExector should be DelayQueueExecutor

PS: I used Code Spell Checker to find out this typo.

An in-range update of @types/blue-tape is breaking the build 🚨

The devDependency @types/blue-tape was updated from 0.1.32 to 0.1.33.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@types/blue-tape is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Add 'why use rx-queue' section to readme

Your package seems well formed and contains a lot of documentation 👍

But; could you add a section to the README.md of your package explaining what the benefits are of using rx-queue implementations over their naive/native implementations?

An in-range update of rollup is breaking the build 🚨

The devDependency rollup was updated from 1.27.13 to 1.27.14.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • Travis CI - Pull Request: The build errored. This is a change from the previous build, which passed.

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Bundle Error

Hello,

I tried to use your lib in an Angular project. Sadly it doesn't work due to some build error.


ERROR in ./node_modules/rx-queue/bundles/rx-queue.umd.js
Module not found: Error: Can't resolve '../../package.json' in '~/queue-error/node_modules/rx-queue/bundles'

Steps to reproduce:

  1. Create a new Angular project with @angular/cli ng new queue-error
  2. cd queue-error
  3. Install Rx-Queue: yarn add rx-queue
  4. Copy code to the app.component.ts:
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'queue-error';

  ngOnInit() {
    const queue = new RxQueue()
    queue.next(1)
    queue.next(2)
    queue.next(3)

    queue.subscribe(console.log);
  }

}
  1. start appliaction: yarn start

Or use my reproduction repo:
https://github.com/CanKattwinkel/rx-queue-issue

  1. yarn install
  2. yarn start
  3. Now you get the error.

crashed with angular 8

ERROR TypeError: Class constructor Subject cannot be invoked without 'new'
    at new RxQueue (rx-queue.umd.js:59)

using latest version

An in-range update of sinon is breaking the build 🚨

Version 5.1.1 of sinon was just published.

Branch Build failing 🚨
Dependency sinon
Current Version 5.1.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details
  • continuous-integration/travis-ci/push The Travis CI build passed Details

Commits

The new version differs by 5 commits.

  • 4d12f95 Update docs/changelog.md and set new release id in docs/_config.yml
  • 3ddfea0 Add release documentation for v5.1.1
  • 67b8872 5.1.1
  • 8ff4ac8 Update History.md and AUTHORS for new release
  • 8aa1425 Remove ES2015 'module' field for 5x branch

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @types/node is breaking the build 🚨

Version 10.3.2 of @types/node was just published.

Branch Build failing 🚨
Dependency @types/node
Current Version 10.3.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

DelayQueue failed: behavior breaking change after RxJS from v6 to v7

The following code work as expected with RxJS@6:

concatMap(args => concat(
of(args), // emit first item right away
EMPTY.pipe(delay(this.period)), // delay next item
)),

It will add a delay between each item.

However, the above code does not work anymore after we upgrade to RxJS@7, it likes that all delay does not take effect anymore: all items will be emitted without any delay.

Problem: breaking changes from RxJS

After performed my google-fu, I found there's a "behavior of delay inconsistent with completions" (ReactiveX/rxjs#4249) created by @benlesh which talked about this behavior and there's also a PR named "fix(delay): emit complete notification as soon as possible" (ReactiveX/rxjs#4444) has implemented this change.

So that's the reason why our code break after upgrade to RxJS v7.

Solution

Use the following code to emit complete after the delay this.period.

concatMap(x => concat(
  of(x),
  timer(this.period).pipe(skip(1)),
)),

An in-range update of rollup is breaking the build 🚨

The devDependency rollup was updated from 1.18.0 to 1.19.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Commits

The new version differs by 6 commits.

  • 9af119d 1.19.0
  • b3f361c Update changelog
  • 456f4d2 Avoid variable from empty module name be empty (#3026)
  • 17eaa43 Use id of last module in chunk as name base for auto-generated chunks (#3025)
  • 871bfa0 Switch to a code-splitting build and update dependencies (#3020)
  • 2443783 Unified file emission api (#2999)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of ts-node is breaking the build 🚨

The devDependency ts-node was updated from 8.1.0 to 8.1.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

ts-node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Commits

The new version differs by 3 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @types/node is breaking the build 🚨

Version 10.3.6 of @types/node was just published.

Branch Build failing 🚨
Dependency [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped)
Current Version 10.3.5
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @types/node is breaking the build 🚨

The devDependency @types/node was updated from 12.0.3 to 12.0.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Is there away to clear the queue?

Hi,

Is there a way to clear the queue?

For example, I have a delay queue. Say runs every 1 minute. The queue has 100 items.

At some point, I want to clear the queue. Is this possible?

I don't want to end the the queue. So I don't want to us complete.

What should I do.

Also is it possible to get the queue size?

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.