Redlock modülünü kullanmaya çalışıyorum ama içinden geçemediğim bir hatayla karşılaşıyorum.Düğüm js dosyasında Redlock hatası
var redis = require('redis');
var Redlock = require('redlock');
var logger = require('./logger.js');
var client;
module.exports.redisConnection = function(port,host){
client = redis.createClient(port,host);
client.on('connect',function(){
logger.info("Redis default connection open to "+host+":"+port);
});
client.on('error',function(err){
logger.info("Redis default connection error "+err);
logger.info("Redis Path : "+host+":"+port);
});
process.on('SIGINT', function() {
client.quit();
logger.info("Redis default connection disconnected");
process.exit(0);
});
};
var redlock = new Redlock(
[client],
{
driftFactor : 0.01,
retryCount : 15,
retryDelay : 200
}
);
redlock.on('clientError', function(err) {
logger.info("A Redis Error Has Occurred : "+err);
});
module.exports.lockRessource = function(ressource_id,callback){
redlock.lock(ressource_id,2000,function(err,lock){
if(err){
callback(err,null);
}
else{
callback(null,lock);
}
});
};
module.exports.unlockLock = function(lock,callback){
lock.unlock(function(err){
if(err){
callback(true,null);
}
else{
callback(null,true);
}
});
};
başka modülden lockRessource işlevini çağırarak deneyin, bir hata alıyorum: Burada
gibi benim redlock dosya göründüğünü olduğunu
2016-04-14T16: 28: 55,020 - info: TypeError: undefined 'un 'set' özelliğinin istek üzerine okunamaz (/usr/app/node_modules/redlock/redlock.js:260:18) /usr/app/node_modules/redlock/redlock.js:314: 12 Array.forEach (yerel) girişiminde (/usr/app/node_modules/redlock/redlock.js:313:24) Promise._execute (/usr/app/node_modules/redlock/node_modules/bluebird/js/release/debuggability.js:272:9) /usr/app/node_modules/redlock/redlock.js:318:10 at Promise.resolveFromExecutor (/usr/app/node_modules/redlock/node_modules/bluebird/js/release/promise.js:474:18) Yeni Promise'de (/ usr/app/node_modules/redlock/node_modules/bluebird/js/Redlock.lock (/usr/app/node_modules/redlock/redlock.js:249:9) adresindeki Redlock.lock (/ usr/app/node_modules/redlock/redlock) sürümünde, sürümünde yer almaktadır. js: 111: 14) Object.module.exports.lockRessource adresindeki (/usr/app/redisdata.js:42:10)
Bunun nereden kaynaklanabileceği hakkında bir fikriniz var mı? Bu modülle çılgınca bir şey yapmıyorum gibi görünüyor.
Çok teşekkürler! İstemci atandıktan sonra init redlock işlemi