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 | 3 | var stats = require('../helper/stats.js'); |
| 4 | 4 | var request = require('request'); |
| 5 | 5 | var messageSOAP = require('../helper/messageSOAP.js'); |
| 6 | + | |
| 6 | 7 | var connection = []; |
| 7 | 8 | |
| 9 | + | |
| 8 | 10 | connection.requestSoapToSPW = async function (soap,cmd,myMethod) { |
| 9 | 11 | |
| 10 | 12 | var params = { |
| ... | ... | @@ -27,30 +29,21 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { |
| 27 | 29 | if(params.method == "GET") |
| 28 | 30 | { |
| 29 | 31 | var genUrl = getUrl(params); |
| 30 | - genUrl.push(genUrl[0]); | |
| 32 | + genUrl.push(genUrl[0].replace("8080","8081")); | |
| 31 | 33 | if(genUrl.length > 1) |
| 32 | 34 | { |
| 33 | 35 | // console.log("multi Send"); |
| 34 | 36 | var multiSend = []; |
| 35 | - var loopData = {}; | |
| 36 | 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 | 42 | var dataRes = {}; |
| 48 | 43 | for(var i=0;i<multiSend.length;i++) |
| 49 | 44 | { |
| 50 | 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 | 48 | if(loopRes.response) |
| 56 | 49 | { |
| ... | ... | @@ -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 | 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 | 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 | 145 | return new Promise((resolve, reject) => { |
| 165 | 146 | request(params, function (error, response, body) { |
| 166 | 147 | |
| 167 | 148 | stats.sendRequest(node,cmd); |
| 168 | 149 | |
| 169 | 150 | if (error) { |
| 170 | - // console.log("error"); | |
| 171 | - console.log("Start : "+new Date()); | |
| 151 | + | |
| 172 | 152 | stats.reciveResponse(node,cmd,"Error"); |
| 173 | 153 | resolve({ |
| 174 | 154 | 'body' : body, |
| 175 | 155 | 'err' : error |
| 176 | 156 | }); |
| 177 | 157 | } else { |
| 178 | - // console.log("normal"); | |
| 179 | - console.log("End : "+new Date().toISOString()); | |
| 158 | + | |
| 180 | 159 | // stats.reciveResponse(node,cmd,"Success"); |
| 181 | 160 | resolve({ |
| 182 | 161 | 'body' : body, | ... | ... |