Commit 787e24ad01f355ad83fb7f5c57c6d050c634b642
1 parent
113ef081
Exists in
master
and in
1 other branch
update async function parallelRequest(multiParams,cmd,node)
Showing
1 changed file
with
25 additions
and
46 deletions
Show diff stats
ais-structure/src/modules/helper/connection.js
| @@ -3,8 +3,10 @@ var cfg = require('../../config/config.js').get(env); | @@ -3,8 +3,10 @@ var cfg = require('../../config/config.js').get(env); | ||
| 3 | var stats = require('../helper/stats.js'); | 3 | var stats = require('../helper/stats.js'); |
| 4 | var request = require('request'); | 4 | var request = require('request'); |
| 5 | var messageSOAP = require('../helper/messageSOAP.js'); | 5 | var messageSOAP = require('../helper/messageSOAP.js'); |
| 6 | + | ||
| 6 | var connection = []; | 7 | var connection = []; |
| 7 | 8 | ||
| 9 | + | ||
| 8 | connection.requestSoapToSPW = async function (soap,cmd,myMethod) { | 10 | connection.requestSoapToSPW = async function (soap,cmd,myMethod) { |
| 9 | 11 | ||
| 10 | var params = { | 12 | var params = { |
| @@ -27,30 +29,21 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { | @@ -27,30 +29,21 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { | ||
| 27 | if(params.method == "GET") | 29 | if(params.method == "GET") |
| 28 | { | 30 | { |
| 29 | var genUrl = getUrl(params); | 31 | var genUrl = getUrl(params); |
| 30 | - genUrl.push(genUrl[0]); | 32 | + genUrl.push(genUrl[0].replace("8080","8081")); |
| 31 | if(genUrl.length > 1) | 33 | if(genUrl.length > 1) |
| 32 | { | 34 | { |
| 33 | // console.log("multi Send"); | 35 | // console.log("multi Send"); |
| 34 | var multiSend = []; | 36 | var multiSend = []; |
| 35 | - var loopData = {}; | ||
| 36 | for(var i=0;i<genUrl.length;i++) | 37 | for(var i=0;i<genUrl.length;i++) |
| 37 | - { | ||
| 38 | - loopData.url = genUrl[i]; | ||
| 39 | - loopData.method = params.method; | ||
| 40 | - multiSend.push(loopData); | ||
| 41 | - | ||
| 42 | - // console.log("Url["+i+"] : "+loopData.url); | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - parallelRequest(multiSend,cmd,cfg.service.D01.Name); | 38 | + multiSend.push({url:genUrl[i],method:params.method}); |
| 39 | + | ||
| 40 | + var parallelRes = await parallelRequest(multiSend,cmd,cfg.service.D01.Name); | ||
| 46 | 41 | ||
| 47 | var dataRes = {}; | 42 | var dataRes = {}; |
| 48 | for(var i=0;i<multiSend.length;i++) | 43 | for(var i=0;i<multiSend.length;i++) |
| 49 | { | 44 | { |
| 50 | // console.log("start loop"); | 45 | // console.log("start loop"); |
| 51 | - // var loopRes = await asyncRequest(multiSend[i],cmd,cfg.service.D01.Name); | ||
| 52 | - | ||
| 53 | - // var loopRes = parallelRequest(multiSend[i],cmd,cfg.service.D01.Name); | 46 | + var loopRes = parallelRes[i]; |
| 54 | 47 | ||
| 55 | if(loopRes.response) | 48 | if(loopRes.response) |
| 56 | { | 49 | { |
| @@ -125,58 +118,44 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { | @@ -125,58 +118,44 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { | ||
| 125 | }; | 118 | }; |
| 126 | 119 | ||
| 127 | 120 | ||
| 128 | -function parallelRequest(multiParams,cmd,node) | 121 | +async function parallelRequest(multiParams,cmd,node) |
| 129 | { | 122 | { |
| 123 | + | ||
| 124 | + var promises = []; | ||
| 125 | + | ||
| 130 | for(var i=0;i<multiParams.length;i++) | 126 | for(var i=0;i<multiParams.length;i++) |
| 127 | + promises.push(asyncRequest (multiParams[i],cmd,node)); | ||
| 128 | + | ||
| 129 | + var res = await Promise.all(promises); | ||
| 130 | + for(var i=0;i<res.length;i++) | ||
| 131 | { | 131 | { |
| 132 | - stats.sendRequest(node,cmd); | ||
| 133 | - console.log("Start "+i+" Url : "+multiParams[i].url); | ||
| 134 | - console.log("Start "+i+"Time : "+new Date().toISOString()); | ||
| 135 | - request(multiParams[i], function (error, response, body) { | ||
| 136 | - if (error) { | ||
| 137 | - console.log("error"); | ||
| 138 | - console.log("End : "+new Date().toISOString()); | ||
| 139 | - stats.reciveResponse(node,cmd,"Error"); | ||
| 140 | - // resolve({ | ||
| 141 | - // 'body' : body, | ||
| 142 | - // 'err' : error | ||
| 143 | - // }); | ||
| 144 | - // console.log(error); | ||
| 145 | - } else { | ||
| 146 | - console.log("normal"); | ||
| 147 | - console.log("End "+i+" : "+new Date().toISOString()); | ||
| 148 | - // stats.reciveResponse(node,cmd,"Success"); | ||
| 149 | - // resolve({ | ||
| 150 | - // 'body' : body, | ||
| 151 | - // 'response' : response | ||
| 152 | - // }); | 132 | + if(!res[i].err) |
| 133 | + stats.reciveResponse(node,cmd,"Success"); | ||
| 153 | 134 | ||
| 154 | - // console.log(response); | ||
| 155 | - } | ||
| 156 | - }); | ||
| 157 | - } | 135 | + } |
| 136 | + | ||
| 137 | + | ||
| 138 | + return res; | ||
| 158 | } | 139 | } |
| 159 | 140 | ||
| 160 | function asyncRequest (params = {},cmd,node) { | 141 | function asyncRequest (params = {},cmd,node) { |
| 161 | 142 | ||
| 162 | - // console.log(params); | ||
| 163 | - console.log("Start : "+new Date().toISOString()); | 143 | + |
| 144 | + // console.log("Start : "+new Date().toISOString()); | ||
| 164 | return new Promise((resolve, reject) => { | 145 | return new Promise((resolve, reject) => { |
| 165 | request(params, function (error, response, body) { | 146 | request(params, function (error, response, body) { |
| 166 | 147 | ||
| 167 | stats.sendRequest(node,cmd); | 148 | stats.sendRequest(node,cmd); |
| 168 | 149 | ||
| 169 | if (error) { | 150 | if (error) { |
| 170 | - // console.log("error"); | ||
| 171 | - console.log("Start : "+new Date()); | 151 | + |
| 172 | stats.reciveResponse(node,cmd,"Error"); | 152 | stats.reciveResponse(node,cmd,"Error"); |
| 173 | resolve({ | 153 | resolve({ |
| 174 | 'body' : body, | 154 | 'body' : body, |
| 175 | 'err' : error | 155 | 'err' : error |
| 176 | }); | 156 | }); |
| 177 | } else { | 157 | } else { |
| 178 | - // console.log("normal"); | ||
| 179 | - console.log("End : "+new Date().toISOString()); | 158 | + |
| 180 | // stats.reciveResponse(node,cmd,"Success"); | 159 | // stats.reciveResponse(node,cmd,"Success"); |
| 181 | resolve({ | 160 | resolve({ |
| 182 | 'body' : body, | 161 | 'body' : body, |