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