Name: thunk-disque
Owner: thunks
Description: A thunk/promise-based disque client.
Created: 2015-04-28 00:23:49.0
Updated: 2018-04-21 16:25:42.0
Pushed: 2017-10-15 13:10:35.0
Homepage: null
Size: 67
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A thunk/promise-based disque client, support all disque features.
Node.js:
install thunk-disque
disque = require('thunk-disque')
client = disque.createClient([7711, 7712, 7713])
clientP = disque.createClient([7711, 7712, 7713], {usePromise: true})
hunk API
nt.info()(function (err, info) {
nsole.log(err, info)
turn this.addjob('queueA', 'Hello', 0)
unction (err, res) {
nsole.log(err, res)
null
'DI81250b3ccbac68e6625e79c8e7c5b286b1dcd2ac05a0SQ'
turn this.show(res)
unction (err, res) {
nsole.log(err, res)
null
{
id: 'DI81250b3ccbac68e6625e79c8e7c5b286b1dcd2ac05a0SQ',
queue: 'queueA',
state: 'queued',
repl: 3,
ttl: 86400,
ctime: 1430579357544000000,
delay: 0,
retry: 8640,
'nodes-delivered':
[ 'f0e652056250c887ed294a53fa9386ea05abb0be',
'2067c69f914c619ed9f348f5ce6e7532ec26e9a8',
'81250b3c4318f0b6463da3742c7cf7069a46b6f6' ],
'nodes-confirmed': [],
'next-requeue-within': 8639835,
'next-awake-within': 8639335,
body: 'Hello'
}
turn this.clientEnd()
romise API
ntP.info()
hen(function (info) {
console.log(info)
return clientP.addjob('queueA', 'Hello', 0)
hen(function (res) {
console.log(res)
// 'DI81250b3ccbac68e6625e79c8e7c5b286b1dcd2ac05a0SQ'
return clientP.show(res)
hen(function (res) {
console.log(res)
// {
// id: 'DI81250b3ccbac68e6625e79c8e7c5b286b1dcd2ac05a0SQ',
// queue: 'queueA',
// state: 'queued',
// repl: 3,
// ttl: 86400,
// ctime: 1430579357544000000,
// delay: 0,
// retry: 8640,
// 'nodes-delivered':
// [ 'f0e652056250c887ed294a53fa9386ea05abb0be',
// '2067c69f914c619ed9f348f5ce6e7532ec26e9a8',
// '81250b3c4318f0b6463da3742c7cf7069a46b6f6' ],
// 'nodes-confirmed': [],
// 'next-requeue-within': 8639835,
// 'next-awake-within': 8639335,
// body: 'Hello'
// }
atch(function (err) {
console.error(err)
disque = require('thunk-disque')
port
: {Number}, default: 7711
;
host
: {String}, default: '127.0.0.1'
;
options
: {Object}, default: {}
;
handleError
: {Boolean}, Optional, Handle client error event. Default: true
.
authPass
: {String}, Optional, Default: ''
.
autoMeet
: {Boolean}, Optional, Default: false
.
returnBuffers
: {Boolean}, Optional, Default: false
.
usePromise
: {Boolean|Promise}, Optional, Default: false
.
Use default Promise:
disque = require('thunk-disque')
client = disque.createClient({
ePromise: true
Use bluebird:
disque = require('thunk-disque')
Bluebird = require('bluebird')
client = disque.createClient({
ePromise: Bluebird
noDelay
: {Boolean}, Optional, Default: true
.
Disables the Nagle algorithm. By default TCP connections use the Nagle algorithm, they buffer data before sending it off. Setting true for noDelay will immediately fire off data each time socket.write() is called.
retryMaxDelay
: {Number}, Optional, Default: Infinity
.
By default every time the client tries to connect and fails time before reconnection (delay) almost multiply by 1.2
. This delay normally grows infinitely, but setting retryMaxDelay
limits delay to maximum value, provided in milliseconds.
maxAttempts
: {Number}, Optional, Default: 10
.
By default client will try reconnecting until connected. Setting maxAttempts
limits total amount of reconnects.
Create a disque client, return the client.
onnect to 127.0.0.1:7711
client1 = disque.createClient()
client2 = disque.createClient(7711, '127.0.0.1')
onnect to 127.0.0.1:7711, 127.0.0.1:7712
nd auto meet them into cluster
client3 = redis.createClient([7711, 7712], {autoMeet: true})
client4 = redis.createClient(['127.0.0.1:7711', '127.0.0.1:7712'], {autoMeet: true}) // IPv4
client5 = redis.createClient(['[::1]:7711', '[::1]:7712'], {autoMeet: true}) // IPv6
client = disque.createClient()
nt.info()(redis.log)