dtimer
dtimer copied to clipboard
does not seem to work on the following configuration
REdis server version: 3.2.7 client connection parameters port: 6380 options: { password: ***, tls: {servername: redisurl}} This redis server hosted on Azure as Redis Cache.... whereas it works on the local client.... version 3.0.5 env = dev works env = prod (where it connects to hosted redis server ) does not work. No error printed on console. Other Redis commands like set, get work fine though... ( not a problem of server availability...)
require('dotenv').config()
let DTimer = require('dtimer').DTimer;
let Promise = require('bluebird');
let redis = Promise.promisifyAll(require('redis')); // module level promisification
let pub
let serverId = process.env.serviceName
let sub
const config = require('./lib/config')
let init = function () {
if (config.environment.includes('dev')) {
pub = redis.createClient();
sub = redis.createClient()
console.log('dev')
} else {
console.log(config.redis.url)
pub = redis.createClient(6380, config.redis.url, {
auth_pass: config.redis.password,
tls: {
servername: config.redis.url
}
});
sub = redis.createClient(6380, config.redis.url, {
auth_pass: config.redis.password,
tls: {
servername: config.redis.url
}
});
}
}
init()
let dt = new DTimer(serverId, pub, sub)
dt.on('event', function (ev) {
dt.confirm(ev.id, function (err) {
if (!err) console.log('' + ev.id + ':' + ev.name)
});
})
dt.on('error', function (err) {
// handle error
})
dt.join(function (err) {
if (err) {
// join failed
return;
}
})
for (let i = 0; i < 20; i++) {
dt.post({ id: 'myId' + i }, 2000)
}
setTimeout(()=>{
pub.quit()
sub.quit()
},10000)