forked from CITKParus/P8-ExchangeService
ЦИТК-759 - Исправление ошибки считывания очереди обмена при сброшенной галке "Сохранять успешное выполнение в очереди"
This commit is contained in:
parent
6908166e48
commit
7b298b51d7
@ -312,14 +312,14 @@ class InQueue extends EventEmitter {
|
|||||||
if (optionsResp.headers) prms.res.set(optionsResp.headers);
|
if (optionsResp.headers) prms.res.set(optionsResp.headers);
|
||||||
prms.res.status(optionsResp.statusCode || 200).send(blResp);
|
prms.res.status(optionsResp.statusCode || 200).send(blResp);
|
||||||
}
|
}
|
||||||
|
//Фиксируем успех обработки - в протоколе работы сервиса
|
||||||
|
await this.logger.info(`Входящее сообщение ${q.nId} успешно отработано`, { nQueueId: q.nId });
|
||||||
//Фиксируем успех обработки - в статусе сообщения
|
//Фиксируем успех обработки - в статусе сообщения
|
||||||
q = await this.dbConn.setQueueState({
|
q = await this.dbConn.setQueueState({
|
||||||
nQueueId: q.nId,
|
nQueueId: q.nId,
|
||||||
nIncExecCnt: NINC_EXEC_CNT_YES,
|
nIncExecCnt: NINC_EXEC_CNT_YES,
|
||||||
nExecState: objQueueSchema.NQUEUE_EXEC_STATE_OK
|
nExecState: objQueueSchema.NQUEUE_EXEC_STATE_OK
|
||||||
});
|
});
|
||||||
//Фиксируем успех обработки - в протоколе работы сервиса
|
|
||||||
await this.logger.info(`Входящее сообщение ${q.nId} успешно отработано`, { nQueueId: q.nId });
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//Тема и текст уведомления об ошибке
|
//Тема и текст уведомления об ошибке
|
||||||
let sSubject = `Ошибка обработки входящего сообщения сервером приложений для функции "${prms.function.sCode}" сервиса "${prms.service.sCode}"`;
|
let sSubject = `Ошибка обработки входящего сообщения сервером приложений для функции "${prms.function.sCode}" сервиса "${prms.service.sCode}"`;
|
||||||
|
@ -247,8 +247,11 @@ class OutQueue extends EventEmitter {
|
|||||||
const proc = ChildProcess.fork("core/out_queue_processor", { silent: false });
|
const proc = ChildProcess.fork("core/out_queue_processor", { silent: false });
|
||||||
//Перехват сообщений обработчика
|
//Перехват сообщений обработчика
|
||||||
proc.on("message", async result => {
|
proc.on("message", async result => {
|
||||||
//Считываем сообщение изменённое обработчиком
|
//Перечитывание не требуется, если выполнено успешно
|
||||||
prms.queue = await self.dbConn.getQueue({ nQueueId: prms.queue.nId });
|
if (result.sResult !== objOutQueueProcessorSchema.STASK_RESULT_OK) {
|
||||||
|
//Перечитываем запись очереди с учетом изменения статуса
|
||||||
|
prms.queue = await self.dbConn.getQueue({ nQueueId: prms.queue.nId });
|
||||||
|
}
|
||||||
//Проверяем структуру полученного сообщения
|
//Проверяем структуру полученного сообщения
|
||||||
let sCheckResult = validateObject(
|
let sCheckResult = validateObject(
|
||||||
result,
|
result,
|
||||||
|
@ -435,16 +435,16 @@ const dbProcess = async prms => {
|
|||||||
//Если результат - ошибка аутентификации, то и её пробрасываем, но с правильным кодом
|
//Если результат - ошибка аутентификации, то и её пробрасываем, но с правильным кодом
|
||||||
if (prcRes.sResult == objQueueSchema.SPRC_RESP_RESULT_UNAUTH) throw new ServerError(SERR_UNAUTH, prcRes.sMsg || "Нет аутентификации");
|
if (prcRes.sResult == objQueueSchema.SPRC_RESP_RESULT_UNAUTH) throw new ServerError(SERR_UNAUTH, prcRes.sMsg || "Нет аутентификации");
|
||||||
}
|
}
|
||||||
|
//Фиксируем успешное исполнение сервером БД - в протоколе работы сервиса
|
||||||
|
await logger.info(`Исходящее сообщение ${prms.queue.nId} успешно отработано сервером БД`, {
|
||||||
|
nQueueId: prms.queue.nId
|
||||||
|
});
|
||||||
//Фиксируем успешное исполнение (полное - дальше обработки нет) - в статусе сообщения
|
//Фиксируем успешное исполнение (полное - дальше обработки нет) - в статусе сообщения
|
||||||
res = await dbConn.setQueueState({
|
res = await dbConn.setQueueState({
|
||||||
nQueueId: prms.queue.nId,
|
nQueueId: prms.queue.nId,
|
||||||
nIncExecCnt: prms.queue.nExecCnt == 0 ? NINC_EXEC_CNT_YES : NINC_EXEC_CNT_NO,
|
nIncExecCnt: prms.queue.nExecCnt == 0 ? NINC_EXEC_CNT_YES : NINC_EXEC_CNT_NO,
|
||||||
nExecState: objQueueSchema.NQUEUE_EXEC_STATE_OK
|
nExecState: objQueueSchema.NQUEUE_EXEC_STATE_OK
|
||||||
});
|
});
|
||||||
//Фиксируем успешное исполнение сервером БД - в протоколе работы сервиса
|
|
||||||
await logger.info(`Исходящее сообщение ${prms.queue.nId} успешно отработано сервером БД`, {
|
|
||||||
nQueueId: prms.queue.nId
|
|
||||||
});
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//Если была ошибка аутентификации - возвращаем на повторную обработку сервером приложений
|
//Если была ошибка аутентификации - возвращаем на повторную обработку сервером приложений
|
||||||
if (e instanceof ServerError && e.sCode == SERR_UNAUTH) {
|
if (e instanceof ServerError && e.sCode == SERR_UNAUTH) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user