ЦИТК-1030. Упрощение останов обработчика исходящих сообщение без повторного завершения дочернего процесса
This commit is contained in:
parent
45c0d42bcb
commit
36e8adc3c2
@ -195,34 +195,14 @@ class OutQueue extends EventEmitter {
|
||||
if (prms.proc) this.clearWorkerTerminateTimeout(prms.proc);
|
||||
//Удаляем идентификатор позиции очереди из списка обрабатываемых
|
||||
this.rmInProgress({ nQueueId: prms.nQueueId });
|
||||
//Завершаем процесс обработчика, если он ещё активен
|
||||
let killRes = true;
|
||||
let killErr = false;
|
||||
if (prms.proc?.connected) {
|
||||
try {
|
||||
killRes = prms.proc.kill();
|
||||
} catch (e) {
|
||||
killRes = false;
|
||||
killErr = true;
|
||||
//Отразим в протоколе ошибку останова
|
||||
await this.logger.error(`Ошибка останова обработчика исходящего сообщения ${prms.nQueueId}: ${makeErrorText(e)}`, {
|
||||
nQueueId: prms.nQueueId
|
||||
});
|
||||
}
|
||||
}
|
||||
//Отразим в протоколе завершение процесса обработчика
|
||||
if (prms.proc) {
|
||||
if (!killRes && !killErr)
|
||||
await this.logger.error(`Процесс обработчика исходящего сообщения ${prms.nQueueId} не был успешно завершен`, {
|
||||
nQueueId: prms.nQueueId
|
||||
});
|
||||
else if (killRes) {
|
||||
const terminateTimeoutFired = prms.proc.terminateTimeoutFired === true;
|
||||
const message = `Процесс обработчика исходящего сообщения ${prms.nQueueId} завершен${terminateTimeoutFired ? " (по таймауту)" : ""}`;
|
||||
const logData = { nQueueId: prms.nQueueId };
|
||||
if (terminateTimeoutFired) await this.logger.warn(message, logData);
|
||||
else await this.logger.info(message, logData);
|
||||
}
|
||||
}
|
||||
//Сбрасываем признак "В работе" позиции очереди
|
||||
await this.dbConn.setInProgress({
|
||||
nQueueId: prms.nQueueId,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user