Example #1
0
  .then(function (data) {
    if (data) {
      console.log(successMsg('Returned ' + data.json.length + ' contacts'))

      // // queue CSVs for writing
      var queue = new PromiseQueue()
      Object.keys(data.csv).forEach(function (key) {
        if (data.csv[key].length > 0) {
          console.log(statusMsg('Queueing ' + key + ' for CSV conversion'))
          queue.add(
            toCSV({data: data.csv[key]})
            .then(function (csv) {
              csv = csv.replace(/"null"/g, '""')
              var filename = key + '.csv'
              return fs.writeFileAsync(path.join(__dirname, dataDir, filename), csv)
              .then(function () {
                console.log(alertMsg('Wrote file ' + filename))
              })
            })
          )
        }
      })
      // queue .json file for writing
      var jsonFile = 'data.json'
      queue.add(
        fs.writeFileAsync(path.join(__dirname, dataDir, jsonFile), JSON.stringify(data.json, null, '\t'))
        .then(function () {
          console.log(alertMsg('Wrote file ' + jsonFile))
        })
      )
      return queue
    } else {
      console.log(warningMsg('No rows returned...'))
    }
  })
router.post('/import',  function (req, res) {
    var mainUserProfile = req.user.slackProfile;
    var users = req.body.users || [];
    var userSite = req.user.teamworkUserSite;
    var credentials = req.user.teamworkApiKey;
    var queue = new Queue();

    var users = prepareUsers(mainUserProfile, users);
    var importPromises = users.map(function (user) {
        return importUserPromise(user, userSite, credentials);
    });

    queue.add(importPromises);
    queue.start()
        .then(function () {
            res.send(true);
        }).catch(function () {
            res.send(false);
        });
});
Example #3
0
jobs.forEach(function(e) {
    queue.add(function() {
        return job(e);
    });
});
Example #4
0
 result.forEach(function (row) {
   var q = []
   q.push('SELECT column_name FROM information_schema.columns WHERE table_name="' + row.table_name + '"')
   queue.add(query(q))
 })