Merge branch 'custom-client' of https://github.com/rossimo/bull into rossimo-custom-client

This commit is contained in:
Manuel Astudillo
2015-05-24 10:11:06 +02:00
2 changed files with 21 additions and 3 deletions
+11 -3
View File
@@ -60,6 +60,14 @@ var Queue = function Queue(name, redisPort, redisHost, redisOptions){
redisDB = redisOpts.DB || redisDB;
}
function createClient() {
if(redisOptions !== undefined && redisOptions.createClient !== undefined){
return redisOptions.createClient();
}else{
return redis.createClient(redisPort, redisHost, redisOptions);
}
}
redisPort = redisPort || 6379;
redisHost = redisHost || '127.0.0.1';
@@ -70,7 +78,7 @@ var Queue = function Queue(name, redisPort, redisHost, redisOptions){
//
// Create queue client (used to add jobs, pause queues, etc);
//
this.client = redis.createClient(redisPort, redisHost, redisOptions);
this.client = createClient();
getRedisVersion(this.client).then(function(version){
if(semver.lt(version, MINIMUM_REDIS_VERSION)){
@@ -83,12 +91,12 @@ var Queue = function Queue(name, redisPort, redisHost, redisOptions){
//
// Create blocking client (used to wait for jobs)
//
this.bclient = redis.createClient(redisPort, redisHost, redisOptions);
this.bclient = createClient();
//
// Create event subscriber client (receive messages from other instance of the queue)
//
this.eclient = redis.createClient(redisPort, redisHost, redisOptions);
this.eclient = createClient();
this.delayTimer = null;
this.processing = 0;
+10
View File
@@ -1,3 +1,4 @@
/*global */
"use strict";
var Job = require('../lib/job');
@@ -32,6 +33,15 @@ describe('Priority queue', function(){
sandbox.restore();
});
it('allow custom clients', function(){
var clients = 0;
queue = new Queue(STD_QUEUE_NAME, {redis: {opts: {createClient: function(){
clients++;
return redis.createClient();
}}}});
expect(clients).to.be(15);
});
describe('.close', function () {
var testQueue;