HOTFIX: Reordenação de regras de negócio

- Prioriza encerramento
- Secundariamente a reabertura
This commit is contained in:
Rafael Alves Lopes 2026-03-11 10:44:09 -03:00
parent b4a7e6c366
commit de01bcaf6f
2 changed files with 14 additions and 7 deletions

View File

@ -23,8 +23,8 @@
2. Ordem de execucao: 2. Ordem de execucao:
- `processErrorController` - `processErrorController`
- `processTicketsController` - `processTicketsController`
- `processCommentsController`
- `processGlpiClosureController` (se habilitado) - `processGlpiClosureController` (se habilitado)
- `processCommentsController`
- `processStatusAndClosureController` (somente legado, se habilitado) - `processStatusAndClosureController` (somente legado, se habilitado)
3. Ha protecao para evitar execucao concorrente do mesmo ciclo no mesmo processo. 3. Ha protecao para evitar execucao concorrente do mesmo ciclo no mesmo processo.
@ -209,3 +209,7 @@ Regra geral: `closed` e `ignored` nao participam das rotinas normais de sincroni
2. Comentarios e tasks nao duplicam. 2. Comentarios e tasks nao duplicam.
3. Tickets fora do escopo saem de monitoramento com estado final correto. 3. Tickets fora do escopo saem de monitoramento com estado final correto.
4. Integracao nao entra em loop por status intermediario. 4. Integracao nao entra em loop por status intermediario.

View File

@ -30,6 +30,13 @@ async function main() {
await processErrorController(); await processErrorController();
await processTicketsController(); await processTicketsController();
if (glpiCloseCronEnabled) {
await processGlpiClosureController();
} else {
logInfo('Monitor de encerramento definitivo GLPI desabilitado (ENABLE_GLPI_CLOSE_CRON=false).');
}
await processCommentsController(); await processCommentsController();
if (statusSyncEnabled) { if (statusSyncEnabled) {
@ -38,12 +45,6 @@ async function main() {
logInfo('Sincronizacao legada de status desabilitada (ENABLE_STATUS_SYNC=false).'); logInfo('Sincronizacao legada de status desabilitada (ENABLE_STATUS_SYNC=false).');
} }
if (glpiCloseCronEnabled) {
await processGlpiClosureController();
} else {
logInfo('Monitor de encerramento definitivo GLPI desabilitado (ENABLE_GLPI_CLOSE_CRON=false).');
}
logInfo('Ciclo de sincronizacao concluido com sucesso.'); logInfo('Ciclo de sincronizacao concluido com sucesso.');
} catch (error) { } catch (error) {
logInfo('Erro na aplicacao:', error); logInfo('Erro na aplicacao:', error);
@ -52,3 +53,5 @@ async function main() {
module.exports = { main }; module.exports = { main };