bull在创建队列时会创建三个redis客户端,分别用于不同的任务
Object.defineProperties(this, {
// Queue client (used to add jobs, pause queues, etc);
client: {
get: lazyClient('client')
},
// Event subscriber client (receive messages from other instance of the queue)
eclient: {
get: lazyClient('subscriber')
},
bclient: {
get: lazyClient('bclient')
}
});
client
client是最常用的客户端,用于添加任务 / 获取任务锁 / 移动任务状态等等
client.addJob(keys)
queue.client.takeLock([
job.lockKey(),
queue.token,
queue.settings.lockDuration
]);
queue.client.moveToActive(keys.concat(args)).then(raw2jobData);
job.queue.client.moveT