vow-queue

WebJar for vow-queue

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

vow-queue
Last Version

Last Version

0.4.3
Release Date

Release Date

Type

Type

jar
Description

Description

vow-queue
WebJar for vow-queue
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/dfilatov/vow-queue

Download vow-queue

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/vow-queue/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>vow-queue</artifactId>
    <version>0.4.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/vow-queue/
implementation 'org.webjars.npm:vow-queue:0.4.3'
// https://jarcasting.com/artifacts/org.webjars.npm/vow-queue/
implementation ("org.webjars.npm:vow-queue:0.4.3")
'org.webjars.npm:vow-queue:jar:0.4.3'
<dependency org="org.webjars.npm" name="vow-queue" rev="0.4.3">
  <artifact name="vow-queue" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='vow-queue', version='0.4.3')
)
libraryDependencies += "org.webjars.npm" % "vow-queue" % "0.4.3"
[org.webjars.npm/vow-queue "0.4.3"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : vow jar [0.4.17,0.5)

Project Modules

There are no modules declared in this project.

vow-queue

NPM Version Build Status

vow-queue is a module for task queue with weights and priorities

Installation

Module can be installed using npm:

npm install vow-queue

or bower:

bower install vow-queue

Usage

var Queue = require('vow-queue'),
    queue = new Queue({ weightLimit : 10 });
    
queue.enqueue(function() { // simple function
    return 2 * 2;
});

queue.enqueue(function() { // function returns a promise
    // do job
    return promise;
});

queue.enqueue( // task with custom priority and weight
    function() {
        // do job
    },
    {
        priority : 3, // this task will be started before the previous two
        weight   : 5
    });
    
queue.start(); // starts tasks processing

queue.enqueue(function() { }); // and enqueue yet another task

API

Creating queue

new Queue([params])

  • params.weightLimit=100 limit of summary tasks weight which can be processed concurrently

Methods of queue

Promise enqueue(taskFn, [taskParams])

Enqueue given task in queue

  • taskFn task function which can return either a promise or a value
  • taskParams.weight=1 weight of given task
  • taskParams.priority=1 priority of given task

Returns promise which will be resolved when given task is done

void start()

Starts processing of tasks in queue

void stop()

Stops processing of tasks in queue

Boolean isStarted()

Returns whether processing is started

void setParams(params)

Sets queue params

  • params.weightLimit=100 limit of summary tasks weight which can be processed concurrently

Object getStats()

Returns statistics about queue

Versions

Version
0.4.3
0.4.1