app.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. tableProvider.excute(tmp.join('')).then(function () {
  28. whilecb();
  29. });
  30. },
  31. function (err) {
  32. if (err == null)
  33. res.send('success');
  34. else
  35. res.send('failure');
  36. });
  37. /*while (sqls.length > 0) {
  38. var tmp= sqls.length > 100 ? sqls.splice(0,100) : sqls.splice(0, sqls.length);
  39. // 执行批量sql文
  40. promises.push(tableProvider.excute(tmp.join('')));
  41. }*/
  42. }
  43. /*Promise.all(promises).then(function () {
  44. res.send('success');
  45. }).catch(function (err) {
  46. res.send('failure');
  47. console.log('error:' + err);
  48. });*/
  49. // res.send('ok');
  50. });
  51. server.listen(8080, function () {
  52. console.log('%s listening at %s', server.name, server.url);
  53. });