Урезал очередь конвертирования до 10 процессов
This commit is contained in:
@@ -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--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user