thm 8 vuotta sitten
vanhempi
commit
88393acd81
2 muutettua tiedostoa jossa 26 lisäystä ja 9 poistoa
  1. 25 8
      app.js
  2. 1 1
      db/tableProvider.js

+ 25 - 8
app.js

@@ -5,6 +5,7 @@ var restify = require('restify');
 global.config = require('./config');
 var db = require('./db'),
     tableProvider = db.tableProvider;
+var async = require('async');
 
 var server = restify.createServer({
     name: 'DataSyncServer',
@@ -17,13 +18,29 @@ server.use(restify.bodyParser());
 server.post('/api/sqls', function (req, res) {
     var promises = [];
 
-    if (Array.isArray(req.body))
-        // 执行批量sql文
-        promises.push(tableProvider.excute(req.body.join('')));
-    /* 执行一条条sql文
-    req.body.forEach(function (element) {
-        promises.push(tableProvider.excute(element));
-    }, this);*/
+    if (Array.isArray(req.body)) {
+        var sqls = req.body;
+
+        async.whilst(
+            function () {
+                return sqls.length > 0;
+            },
+            function (whilecb) {
+                var tmp = sqls.length > 100 ? sqls.splice(0, 100) : sqls.splice(0, sqls.length);
+                // 执行批量sql文
+                promises.push(tableProvider.excute(tmp.join('')));
+                whilecb();
+            },
+            function (err) {
+
+            });
+
+        /*while (sqls.length > 0) {
+            var temp= sqls.length > 100 ? sqls.splice(0,100) : sqls.splice(0, sqls.length);
+            // 执行批量sql文
+            promises.push(tableProvider.excute(temp.join('')));
+        }*/
+    }
 
     Promise.all(promises).then(function () {
         res.send('success');
@@ -32,7 +49,7 @@ server.post('/api/sqls', function (req, res) {
         console.log('error:' + err);
     });
 
-   // res.send('ok');
+    // res.send('ok');
 });
 
 server.listen(8080, function () {

+ 1 - 1
db/tableProvider.js

@@ -4,7 +4,7 @@
 var seq;
 
 exports.excute = function (sql) {
-    return seq.query(sql);
+    return seq.query(sql,{logging:false});
 };
 
 exports.setSequelize = function (sequelize) {