bull-manager
Easily manage your bull queues
Getting started
$ yarn add bull-manager
Usage
On the worker side:
const configureQueues createJobQueue = await
On the client side:
const configureQueues joinJobQueue enqueue = await await
API
configureQueues(options)
Configure bull-manager
by specifying the following options
:
isManager
: set totrue
for workers. Defaults tofalse
.createRedis
: function that creates redis connections if you need custom options. Passing a function will enable connections reuse forsubscriber
andclient
connections. Defaults toundefined
.onError
: error handler that will be called for failed jobs when the corresponding queue doesn’t specify a custom error handler. Defaults toundefined
.
createJobQueue(name, handler, options, jobOptions)
Create a job queue and add the corresponding handler.
It takes the following options
:
onError
: specific error handler that will be called when a job fails. Throwing withing theonError
handler will invoke the global error handler (when defined) with the thrown error. Defaults toundefined
.concurrency
: amount of concurrent jobs per process. Defaults to1
.
For jobOptions
, refer to the bull documentation.
There is one additional job option:
jobIdKey
:enqueue
will set thejobId
to_.get(data, jobIdKey)
The default values are the same as in Queue#add
except for removeOnComplete
that will be true
.
joinJobQueue(name, jobOptions)
Join a job queue. Behaves like createJobQueue
except that it does not register a handler.
enqueue(name, jobTitle, data, jobOptions)
Add a job to the name
jobQueue.
jobTitle
is just a simple name to identify a job, it is not required. It will set name
property to data
if not set.
disconnectQueues()
Run Queue#disconnect
on all queues.
Cool features
jobIdKey
Pass jobIdKey
to job options so that enqueue
will set the jobId
to _.get(data, jobIdKey)
. Only works for createJobQueue
and joinJobQueue
job options, as it doesn’t make sense for enqueue
. You always have the possibility to use jobId
in enqueue
, it will override anything else.
Fallthrough error handlers
Throwing in a job specific error handler will call the global error handler with that error.
Random things
- You don’t need to pass job options to
createJobQueue
if you are never going to useenqueue
in your workers. removeOnComplete
is set to true by default.
License
MIT
Miscellaneous
╚⊙ ⊙╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝