From b79fab54802f1e8542547c98fd08ba81f124b683 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Fri, 7 Dec 2018 21:17:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D0=B8=D0=BA=D0=BE=D0=B2=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D1=81=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D1=8F=D1=89=D0=B8=D1=85=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B8=20(=D0=B4=D0=BE=20=D0=B8=20=D0=BF=D0=BE=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D1=91=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B5=D1=80)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/out_queue_processor.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/core/out_queue_processor.js b/core/out_queue_processor.js index 57559e2..7b2c5f9 100644 --- a/core/out_queue_processor.js +++ b/core/out_queue_processor.js @@ -10,17 +10,12 @@ require("module-alias/register"); //Поддержка псевонимов при подключении модулей const lg = require("./logger"); //Протоколирование работы const db = require("./db_connector"); //Взаимодействие с БД -const { makeErrorText, makeModuleFullPath, validateObject } = require("./utils"); //Вспомогательные функции +const { makeErrorText, validateObject, getAppSrvFunction } = require("./utils"); //Вспомогательные функции const { ServerError } = require("./server_errors"); //Типовая ошибка const objOutQueueProcessorSchema = require("../models/obj_out_queue_processor"); //Схема валидации сообщений обмена с бработчиком очереди исходящих сообщений const prmsOutQueueProcessorSchema = require("../models/prms_out_queue_processor"); //Схема валидации параметров функций модуля const objQueueSchema = require("../models/obj_queue"); //Схемы валидации сообщения очереди -const { - SERR_UNEXPECTED, - SERR_MODULES_BAD_INTERFACE, - SERR_OBJECT_BAD_INTERFACE, - SERR_MODULES_NO_MODULE_SPECIFIED -} = require("./constants"); //Глобальные константы +const { SERR_OBJECT_BAD_INTERFACE } = require("./constants"); //Глобальные константы const { NINC_EXEC_CNT_YES, NINC_EXEC_CNT_NO } = require("../models/prms_db_connector"); //Схемы валидации параметров функций модуля взаимодействия с БД //-------------------------- @@ -90,6 +85,17 @@ const appProcess = async prms => { }, ${prms.queue.sExecState}, попытка исполнения - ${prms.queue.nExecCnt + 1}`, { nQueueId: prms.queue.nId } ); + //Выполняем обработчик "До" + if (prms.function.sAppSrvBefore) { + const fnBefore = getAppSrvFunction(prms.function.sAppSrvBefore); + await fnBefore(prms); + } + //Отправляем сообщение удалённому серверу + //Выполняем обработчик "После" + if (prms.function.sAppSrvAfter) { + const fnAfter = getAppSrvFunction(prms.function.sAppSrvAfter); + await fnAfter(prms); + } let sMsg = (prms.queue.blMsg ? prms.queue.blMsg.toString() : "null") + " MODIFICATION FOR " + prms.queue.nId; //Фиксируем успех исполнения