Улучшено управление внешними конвертерами

This commit is contained in:
Book Pauk
2020-12-03 19:04:34 +07:00
parent 39c3bf17dd
commit 4a527d192d
3 changed files with 22 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ const LimitedQueue = require('../../LimitedQueue');
const textUtils = require('./textUtils');
const utils = require('../../utils');
const queue = new LimitedQueue(2, 20, 3*60*1000);//3 минуты ожидание подвижек
const queue = new LimitedQueue(3, 20, 3*60*1000);//3 минуты ожидание подвижек
class ConvertBase {
constructor(config) {
@@ -44,12 +44,17 @@ class ConvertBase {
try {
const result = await utils.spawnProcess(path, {
killAfter: 600,
killAfter: 3600,//1 час
args,
onData: (data) => {
q.resetTimeout();
onData(data);
},
//будем периодически проверять работу конвертера и если очереди нет, то разрешаем работу пинком onData
onUsage: (stats) => {
if (queue.freed > 1 && stats.cpu >= 10)
onData('.');
},
abort
});
if (result.code != 0) {