From 56bf69a7707e8e14e3da841d4d7e63984eab96b8 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Thu, 28 Feb 2019 15:52:13 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=80=D0=B5=D0=B7=D0=B0=D0=BB=20=D0=BE?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D1=8C=20=D0=BA=D0=BE=D0=BD=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=BE=2010=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/BookConverter/ConvertBase.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/core/BookConverter/ConvertBase.js b/server/core/BookConverter/ConvertBase.js index ca78b442..ef06884e 100644 --- a/server/core/BookConverter/ConvertBase.js +++ b/server/core/BookConverter/ConvertBase.js @@ -5,6 +5,8 @@ const chardet = require('chardet'); const textUtils = require('./textUtils'); const utils = require('../utils'); +let execConverterCounter = 0; + class ConvertBase { constructor(config) { this.config = config; @@ -30,7 +32,11 @@ class ConvertBase { } async execConverter(path, args, onData) { + execConverterCounter++; try { + if (execConverterCounter > 10) + throw new Error('Слишком большая очередь конвертирования. Пожалуйста, попробуйте позже.'); + const result = await utils.spawnProcess(path, {args, onData}); if (result.code != 0) { let error = result.code; @@ -46,6 +52,8 @@ class ConvertBase { } else { throw new Error(e); } + } finally { + execConverterCounter--; } }