Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f03ad5597 | ||
|
|
1efa3f055d | ||
|
|
8ccf11278b | ||
|
|
8a9e7ab4c3 | ||
|
|
c0fa7c0c51 | ||
|
|
022dfd4709 | ||
|
|
71e08aacc3 | ||
|
|
337eca87f2 |
@@ -112,7 +112,7 @@ class FileDecompressor {
|
|||||||
|
|
||||||
async unZip(filename, outputDir) {
|
async unZip(filename, outputDir) {
|
||||||
const zip = new ZipStreamer();
|
const zip = new ZipStreamer();
|
||||||
return await await zip.unpack(filename, outputDir);
|
return await zip.unpack(filename, outputDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
unBz2(filename, outputDir) {
|
unBz2(filename, outputDir) {
|
||||||
|
|||||||
@@ -97,8 +97,7 @@ class ReaderWorker {
|
|||||||
wState.finish({path: `/tmp/${finishFilename}`});
|
wState.finish({path: `/tmp/${finishFilename}`});
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (this.config.branch == 'development')
|
log(LM_ERR, e.stack);
|
||||||
console.error(e);
|
|
||||||
wState.set({state: 'error', error: (errMes ? errMes : e.message)});
|
wState.set({state: 'error', error: (errMes ? errMes : e.message)});
|
||||||
} finally {
|
} finally {
|
||||||
//clean
|
//clean
|
||||||
@@ -137,7 +136,6 @@ class ReaderWorker {
|
|||||||
|
|
||||||
async periodicCleanDir(dir, maxSize, timeout) {
|
async periodicCleanDir(dir, maxSize, timeout) {
|
||||||
try {
|
try {
|
||||||
log(`Start clean dir: ${dir}, maxSize=${maxSize}`);
|
|
||||||
const list = await fs.readdir(dir);
|
const list = await fs.readdir(dir);
|
||||||
|
|
||||||
let size = 0;
|
let size = 0;
|
||||||
@@ -149,21 +147,20 @@ class ReaderWorker {
|
|||||||
files.push({name, stat});
|
files.push({name, stat});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log(`found ${files.length} files in dir ${dir}`);
|
log(`clean dir ${dir}, maxSize=${maxSize}, found ${files.length} files`);
|
||||||
|
|
||||||
files.sort((a, b) => a.stat.mtimeMs - b.stat.mtimeMs);
|
files.sort((a, b) => a.stat.mtimeMs - b.stat.mtimeMs);
|
||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
while (i < files.length && size > maxSize) {
|
while (i < files.length && size > maxSize) {
|
||||||
const file = files[i];
|
const file = files[i];
|
||||||
log(`rm ${dir}/${file.name}`);
|
|
||||||
await fs.remove(`${dir}/${file.name}`);
|
await fs.remove(`${dir}/${file.name}`);
|
||||||
size -= file.stat.size;
|
size -= file.stat.size;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
log(`removed ${i} files`);
|
log(`removed ${i} files`);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
log(LM_ERR, e.message);
|
log(LM_ERR, e.stack);
|
||||||
} finally {
|
} finally {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.periodicCleanDir(dir, maxSize, timeout);
|
this.periodicCleanDir(dir, maxSize, timeout);
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ class ZipStreamer {
|
|||||||
entryCallback = (entryCallback ? entryCallback : () => {});
|
entryCallback = (entryCallback ? entryCallback : () => {});
|
||||||
const unzip = new unzipStream({file: zipFile});
|
const unzip = new unzipStream({file: zipFile});
|
||||||
|
|
||||||
|
unzip.on('error', reject);
|
||||||
|
|
||||||
let files = [];
|
let files = [];
|
||||||
unzip.on('extract', (en) => {
|
unzip.on('extract', (en) => {
|
||||||
const entry = {path: en.name, size: en.size, compressedSize: en.compressedSize};
|
const entry = {path: en.name, size: en.size, compressedSize: en.compressedSize};
|
||||||
|
|||||||
Reference in New Issue
Block a user