relyq queue and push components for qb. It uses a simple and reliable work queue implemented with redis using simpleq.
npm install qb qb-relyq --save
var QB = require('qb')
, qb = new QB(qbOptions)
// To use relyq as a work queue:
qb.component(require('qb-relyq').queue, relyqOptions)
// OR to just push onto other service's relyqs:
qb.component(require('qb-relyq').push, relyqOptions)The relyqOptions above take the following options:
createRedisAfunction () { return redisClient }that is REQUIRED.prefixThe relyq redis keys will be prefixed by this (default:'qb')delimeterThe delimeter to connect the prefix, the string'service'and the service type (default:':')QThe relyq Queue Type. See relyq docs for details. (default:'RedisJsonQ')allow_deferAllow deferred tasks (default:false)defer_fieldField where the timestamp signifying a deferred task (default:'when')allow_recurAllow recurring tasks (default:false)recur_fieldField where the millisecond recurring interval is signifying a recurring task (default:'every')
specificAn optional object of service type to options. When instantiating a queue withqb-relyq, specific options for each queue can be detailed in here. For example:specific: { myservice: { prefix: 'myservice' } }, which will be used whenqb.can('myservice', myserviceCallback)clean_finishDon't keep jobs around in thefinishedsub-queue. (default:true)max_concurrent_callbacksLimit on concurrent callbacks from this queue (default:100)blocking_timeoutSeconds of long-polling redis when waiting for new tasks. This will affect how long shutdown takes. (default:5)defer_polling_intervalMillisecond interval between deferred task checking (default:1000)recur_polling_intervalMillisecond interval between recurring task checking (default:60000)
- Recurring tasks must include an ID so that they are not duplicated. The ID field defaults is 'id'.
MIT in LICENSE file