app.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. * Created by taohm on 2016/11/2.
  3. */
  4. var restify = require('restify');
  5. global.config = require('./config');
  6. var db = require('./db'),
  7. tableProvider = db.tableProvider;
  8. var async = require('async');
  9. var server = restify.createServer({
  10. name: 'DataSyncServer',
  11. version: '1.0.0'
  12. });
  13. server.use(restify.acceptParser(server.acceptable));
  14. server.use(restify.queryParser());
  15. server.use(restify.bodyParser());
  16. server.post('/api/sqls', function (req, res) {
  17. var promises = [];
  18. if (Array.isArray(req.body)) {
  19. var sqls = req.body;
  20. async.whilst(
  21. function () {
  22. return sqls.length > 0;
  23. },
  24. function (whilecb) {
  25. var tmp = sqls.length > 100 ? sqls.splice(0, 100) : sqls.splice(0, sqls.length);
  26. // 执行批量sql文
  27. promises.push(tableProvider.excute(tmp.join('')));
  28. whilecb();
  29. },
  30. function (err) {
  31. });
  32. /*while (sqls.length > 0) {
  33. var temp= sqls.length > 100 ? sqls.splice(0,100) : sqls.splice(0, sqls.length);
  34. // 执行批量sql文
  35. promises.push(tableProvider.excute(temp.join('')));
  36. }*/
  37. }
  38. Promise.all(promises).then(function () {
  39. res.send('success');
  40. }).catch(function (err) {
  41. res.send('failure');
  42. console.log('error:' + err);
  43. });
  44. // res.send('ok');
  45. });
  46. server.listen(8080, function () {
  47. console.log('%s listening at %s', server.name, server.url);
  48. });