|
@@ -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 () {
|