dq
v0.9.0
Published
A simple priority queue built on Redis.
Maintainers
Readme
Node.js - dq
dq is a simple priority queue built on Redis.
Install
npm install --save dqUsage
connect(config, [callback])
alias: create()
config: Can take any of the following: a.name(required) b.port, defaults to6379c.host, defaults '127.0.0.1' d.passwordcallback: optional, has signature(err, q)
Example:
var dq = require('dq')
var q = dq.connect({name: 'tasks'})
// or...
dq.connect({name: 'tasks'}, function (err, q) {
})count(callback)
callback: has signature(err, count)
Example:
var dq = require('dq')
var q = dq.connect({name: 'tasks'})
q.count(function (err, count) {
console.log(count) // => 1356
})deq([count], callback)
callback: has signature(err, val)
val is an Array if count was specified.
Example:
var dq = require('dq')
var q = dq.connect({name: 'tasks'})
q.deq(function (err, val) {
console.log(val)
})enq(value, [priority], callback)
value: (required) data to put in the queue, should be astring, any non-string will be type coercedpriority: (optional), defaults to0, you should choose between0and1using the result of Math.random(). Values between-InfinityandInfinfitywill be accepted.callback: has signature(err, val)
Example:
var dq = require('dq')
var q = dq.connect({name: 'tasks'})
q.enq('some data', Math.random(), function (err) { })peak(start, count, [callback])
Return data from start until start + count, but don't remove the data.
example:
Assume the queue has the following contents: ['a', 'b', 'c', 'd']
var dq = require('dq')
dq.create({name: 'somedata'}, function (err, q) {
q.peak(1, 2, function (err, data) {
console.dir(data) // => ['b', 'c']
})
})License
Licensed under MIT. See LICENSE for more details.
Copyright (c) 2012-2015 JP Richardson
