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, | ... | ... |