Rebaixa para debug uma serie de logs "heartbeat" que disparavam todo ciclo (a cada 1 minuto) independente de qualquer mudanca real, competindo com os logs de acao/erro que realmente importam: buscas por watermark, contagem de tickets pendentes/monitorados, checagens de comentario ja sincronizado, abertura de conexao GLPI/PostgreSQL, e o resumo de sincronizacao do SN (que a margem de seguranca de 6h do watermark sempre retorna nao-vazio, mesmo sem mudanca real de campo). Corrige tambem um bug real encontrado em teste: no fluxo GLPI -> SN, todo comentario historico de um ticket era sanitizado e checado contra a API do SN a cada ciclo antes mesmo de verificar se ja tinha sido sincronizado (ticket_updates.destiny_id). Em tickets com historico longo isso significava dezenas de chamadas desnecessarias por minuto. Agora a checagem local (barata) roda primeiro, e so sanitiza/consulta o SN quando o comentario realmente ainda nao foi sincronizado. Corrige tambem o log de configuracao do pool PostgreSQL, que imprimia "[object Object]" por passar o objeto de config como mensagem em vez de metadado. LOG_LEVEL default muda de debug para info em .env.example e .env.production, unica forma do rebaixamento acima ter efeito pratico. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
825 B
JavaScript
28 lines
825 B
JavaScript
// src/data/glpiDatabase.js
|
|
// Configuração da conexão com o banco de dados mariaDB do GLPI
|
|
const mysql = require('mysql2/promise');
|
|
const { logError, logDebug } = require('../utils/logger');
|
|
|
|
const glpiPool = mysql.createPool({
|
|
host: process.env.GLPI_DB_HOST,
|
|
port: process.env.GLPI_DB_PORT,
|
|
database: process.env.GLPI_DB_NAME,
|
|
user: process.env.GLPI_DB_USER,
|
|
password: process.env.GLPI_DB_PASSWORD,
|
|
waitForConnections: true,
|
|
connectionLimit: 10,
|
|
queueLimit: 0,
|
|
// Fecha conexões ociosas após 60 segundos, evitando o erro ECONNRESET.
|
|
idleTimeout: 60000
|
|
});
|
|
|
|
// Testar conexão
|
|
glpiPool.on('connection', (connection) => {
|
|
logDebug('Nova conexão GLPI estabelecida');
|
|
});
|
|
|
|
glpiPool.on('error', (err) => {
|
|
logError('Erro na pool GLPI:', err);
|
|
});
|
|
|
|
module.exports = glpiPool; |