Skip to content

Commit 4e177b4

Browse files
committed
changes for exit when zip upload failed
1 parent b1aff81 commit 4e177b4

File tree

1 file changed

+41
-22
lines changed

1 file changed

+41
-22
lines changed

bin/helpers/zipUpload.js

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ const config = require("./config"),
1010
Constants = require("./constants"),
1111
utils = require("./utils");
1212

13-
const uploadSuits = (bsConfig, filePath, opts) => {
13+
const uploadSuits = (bsConfig, filePath, opts, obj) => {
1414
return new Promise(function (resolve, reject) {
15-
let startTime = Date.now();
15+
obj.startTime = Date.now();
1616

1717
if (opts.urlPresent) {
1818
return resolve({ [opts.md5ReturnKey]: opts.url });
@@ -21,28 +21,26 @@ const uploadSuits = (bsConfig, filePath, opts) => {
2121
return resolve({});
2222
}
2323

24-
let size = fs.lstatSync(filePath).size;
24+
let size = obj.size;
2525

2626
// create new progress bar
27-
let bar1 = new cliProgress.SingleBar({
28-
format: `${filePath} [{bar}] {percentage}% | ETA: {eta}s | Speed: {speed} kbps | Duration: {duration}s [${(size / 1000000).toFixed(2)} MB]`,
29-
hideCursor: true,
27+
obj.bar1 = new cliProgress.SingleBar({
28+
format: `${filePath} [{bar}] {percentage}% | ETA: {eta}s | Speed: {speed} kbps | Duration: {duration}s [${(size / 1000000).toFixed(2)} MB]`
3029
});
3130

32-
bar1.start(100, 0, {
31+
obj.bar1.start(100, 0, {
3332
speed: "N/A"
3433
});
3534

36-
bar1.on('start', () => {
35+
obj.bar1.on('start', () => {
3736
});
3837

39-
bar1.on('stop', () => {
38+
obj.bar1.on('stop', () => {
4039
});
4140

4241
let options = utils.generateUploadParams(bsConfig, filePath, opts.md5Data, opts.fileDetails)
4342
let responseData = null;
4443
var r = request.post(options, function (err, resp, body) {
45-
clearInterval(q);
4644

4745
if (err) {
4846
reject(err);
@@ -55,7 +53,7 @@ const uploadSuits = (bsConfig, filePath, opts) => {
5553
if (resp.statusCode != 200) {
5654
if (resp.statusCode == 401) {
5755
if (responseData && responseData["error"]) {
58-
responseData["time"] = Date.now() - startTime;
56+
responseData["time"] = Date.now() - obj.startTime;
5957
return reject(responseData["error"]);
6058
} else {
6159
return reject(Constants.validationMessages.INVALID_DEFAULT_AUTH_PARAMS);
@@ -65,7 +63,7 @@ const uploadSuits = (bsConfig, filePath, opts) => {
6563
return resolve({});
6664
}
6765
if(responseData && responseData["error"]){
68-
responseData["time"] = Date.now() - startTime;
66+
responseData["time"] = Date.now() - obj.startTime;
6967
reject(responseData["error"]);
7068
} else {
7169
if (resp.statusCode == 413) {
@@ -75,30 +73,35 @@ const uploadSuits = (bsConfig, filePath, opts) => {
7573
}
7674
}
7775
} else {
78-
bar1.update(100, {
79-
speed: ((size / (Date.now() - startTime)) / 125).toFixed(2) //kbits per sec
80-
});
81-
bar1.stop();
76+
purgeUploadBar(obj);
8277
logger.info(`${opts.messages.uploadingSuccess} (${responseData[opts.md5ReturnKey]})`);
8378
opts.cleanupMethod();
84-
responseData["time"] = Date.now() - startTime;
79+
responseData["time"] = Date.now() - obj.startTime;
8580
resolve(responseData);
8681
}
8782
}
8883
});
8984

90-
var q = setInterval(function () {
85+
obj.zipInterval = setInterval(function () {
9186
let dispatched = r.req.connection._bytesDispatched;
9287
let percent = dispatched * 100.0 / size;
93-
bar1.update(percent, {
94-
speed: ((dispatched / (Date.now() - startTime)) / 125).toFixed(2) //kbits per sec
88+
obj.bar1.update(percent, {
89+
speed: ((dispatched / (Date.now() - obj.startTime)) / 125).toFixed(2) //kbits per sec
9590
});
9691
}, 150);
9792

9893
});
9994
}
10095

10196

97+
const purgeUploadBar = (obj) => {
98+
obj.bar1.update(100, {
99+
speed: ((obj.size / (Date.now() - obj.startTime)) / 125).toFixed(2) //kbits per sec
100+
});
101+
obj.bar1.stop();
102+
clearInterval(obj.zipInterval);
103+
}
104+
102105
const uploadCypressZip = (bsConfig, md5data, packageData) => {
103106
return new Promise(function (resolve, reject) {
104107
let obj = {}
@@ -116,8 +119,22 @@ const uploadCypressZip = (bsConfig, md5data, packageData) => {
116119
logger.info(npmOptions.messages.uploading);
117120
}
118121

119-
let zipUpload = uploadSuits(bsConfig, config.fileName, zipOptions);
120-
let npmPackageUpload = uploadSuits(bsConfig, config.packageFileName, npmOptions);
122+
var testZipUploadObj = {
123+
bar1: null,
124+
zipInterval: null,
125+
size: fs.existsSync(config.fileName) ? fs.lstatSync(config.fileName).size : 0,
126+
startTime: null
127+
}
128+
129+
var npmPackageZipUploadObj = {
130+
bar1: null,
131+
zipInterval: null,
132+
size: fs.existsSync(config.packageFileName) ? fs.lstatSync(config.packageFileName).size : 0,
133+
startTime: null
134+
}
135+
136+
let zipUpload = uploadSuits(bsConfig, config.fileName, zipOptions, testZipUploadObj);
137+
let npmPackageUpload = uploadSuits(bsConfig, config.packageFileName, npmOptions, npmPackageZipUploadObj);
121138
Promise.all([zipUpload, npmPackageUpload]).then(function (uploads) {
122139
uploads.forEach(upload => {
123140
if(upload.zip_url && upload.time) {
@@ -130,6 +147,8 @@ const uploadCypressZip = (bsConfig, md5data, packageData) => {
130147
});
131148
return resolve(obj);
132149
}).catch((error) => {
150+
purgeUploadBar(testZipUploadObj);
151+
purgeUploadBar(npmPackageZipUploadObj);
133152
return reject(error);
134153
})
135154
})

0 commit comments

Comments
 (0)