.error(function (err) { log.warn(name + ': Service not registered. Watching for service') log.error(err, name) // Let's wait and watch for the key to show up. // This can happen in a complex cluster where service spin up ordering is not enforceable // TODO: Add timeout and recovery logic return self.client.watchAsync(name) .then(self._parseMessage) .then(msg => log.info(msg)) })
MongoClient.connect(config.mongo, function(err, db) { if (err) log.error('Error connecting to database.') log.debug("Connected correctly to database."); db.collection("publicatii", function(err, collection) { collection.find().toArray(function(err, addresses) { new Promise(function(res, rej) { var client = new beanstalk.client(config.MasterIP, config.MasterPort); client .on('connect', function() { client.use('WorkLocal', function(err, numWatched) { if (err) return log.error(err); res(client); }); }) .on('error', function(err) { rej(err) }).connect(); }).then(function(client) { log.debug('Connected to Beanstalkd on localhost'); //Put some jobs in the tubes addresses.forEach(function(payload) { log.debug(new Date() + ' ' + payload.url); client.put( 0, // Priority 0, // Delay. 0 = start immediately 120, // Timeout. 2 minutes. payload.url, // empty payload function(err, jobID) { if (err) return log.error(err); log.debug('InjectedJobID: ' + jobID); }); }); setTimeout(process.exit, 1000); }); db.close(); }); }); });
payload.url, // empty payload function(err, jobID) { if (err) return log.error(err); log.debug('InjectedJobID: ' + jobID); });
client.use('WorkLocal', function(err, numWatched) { if (err) return log.error(err); res(client); });