Example #1
0
 .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);
            });