Урезал очередь конвертирования до 10 процессов

This commit is contained in:
Book Pauk
2019-02-28 15:52:13 +07:00
parent 22f9287d8b
commit 56bf69a770

View File

@@ -5,6 +5,8 @@ const chardet = require('chardet');
const textUtils = require('./textUtils'); const textUtils = require('./textUtils');
const utils = require('../utils'); const utils = require('../utils');
let execConverterCounter = 0;
class ConvertBase { class ConvertBase {
constructor(config) { constructor(config) {
this.config = config; this.config = config;
@@ -30,7 +32,11 @@ class ConvertBase {
} }
async execConverter(path, args, onData) { async execConverter(path, args, onData) {
execConverterCounter++;
try { try {
if (execConverterCounter > 10)
throw new Error('Слишком большая очередь конвертирования. Пожалуйста, попробуйте позже.');
const result = await utils.spawnProcess(path, {args, onData}); const result = await utils.spawnProcess(path, {args, onData});
if (result.code != 0) { if (result.code != 0) {
let error = result.code; let error = result.code;
@@ -46,6 +52,8 @@ class ConvertBase {
} else { } else {
throw new Error(e); throw new Error(e);
} }
} finally {
execConverterCounter--;
} }
} }