Commit 787e24ad01f355ad83fb7f5c57c6d050c634b642

Authored by sumatek
1 parent 113ef081
Exists in master and in 1 other branch dev

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,