diff --git a/core/logger.js b/core/logger.js index e836bc9..b90c279 100644 --- a/core/logger.js +++ b/core/logger.js @@ -82,6 +82,10 @@ class Logger { } } catch (e) { console.log(SCONSOLE_LOG_COLOR_PATTERN_ERR, `${sNow} ОШИБКА ПРОТОКОЛИРОВАНИЯ: `, e.sMessage); + try { + if (this.dbConnector && this.dbConnector.bConnected) + await this.dbConnector.putLog({ nLogState: NLOG_STATE_ERR, sMsg: `ОШИБКА ПРОТОКОЛИРОВАНИЯ: ${e.sMessage}` }); + } catch {} } } } else { diff --git a/core/out_queue.js b/core/out_queue.js index 66abf43..4378edd 100644 --- a/core/out_queue.js +++ b/core/out_queue.js @@ -204,10 +204,14 @@ class OutQueue extends EventEmitter { else await this.logger.info(message, logData); } //Сбрасываем признак "В работе" позиции очереди - await this.dbConn.setInProgress({ - nQueueId: prms.nQueueId, - nInProgress: objQueueSchema.NQUEUE_IN_PROGRESS_NO - }); + try { + await this.dbConn.setInProgress({ + nQueueId: prms.nQueueId, + nInProgress: objQueueSchema.NQUEUE_IN_PROGRESS_NO + }); + } catch (e) { + this.logger.error(`При сбросе признака "В работе" для исходящего сообщения ${prms.nQueueId}: ${makeErrorText(e)}`); + } //Увеличиваем количество доступных обработчиков this.nWorkersLeft++; } else { diff --git a/modules/parus_oracle_db.js b/modules/parus_oracle_db.js index 0f95906..89a77c0 100644 --- a/modules/parus_oracle_db.js +++ b/modules/parus_oracle_db.js @@ -418,6 +418,7 @@ const setInProgress = async prms => { connection: prms.connection, sName: "PKG_EXS.QUEUE_IN_PROGRESS_SET", inPrms: { + NFLAG_SMART: 1, NEXSQUEUE: prms.nQueueId, NIN_PROGRESS: prms.nInProgress } diff --git a/modules/parus_pg_db.js b/modules/parus_pg_db.js index b3fb477..fa9aaff 100644 --- a/modules/parus_pg_db.js +++ b/modules/parus_pg_db.js @@ -379,6 +379,7 @@ const setInProgress = async prms => { connection: prms.connection, sName: "PKG_EXS$QUEUE_IN_PROGRESS_SET", inPrms: { + NFLAG_SMART: 1, NEXSQUEUE: prms.nQueueId, NIN_PROGRESS: prms.nInProgress }