/** * Dispara manualmente el procesamiento de `metricas_invalidaciones` para todos * los tenants. Útil tras un `invalidate-metricas-all.ts` para no esperar al * cron (cada 15 min). * * Uso: * pnpm --filter @horux/api exec tsx scripts/process-metricas-now.ts */ import { prisma } from '../src/config/database.js'; import { processAllTenantsInvalidations } from '../src/services/metricas-compute.service.js'; async function main() { console.log('=== Procesar metricas_invalidaciones (all tenants) ===\n'); const start = Date.now(); const r = await processAllTenantsInvalidations(); const elapsed = ((Date.now() - start) / 1000).toFixed(1); console.log( `\nTenants revisados: ${r.tenantsRevisados}\n` + `Invalidaciones procesadas: ${r.totalProcesadas}\n` + `Filas metricas_mensuales escritas: ${r.totalFilasEscritas}\n` + `Errores: ${r.totalErrores}\n` + `Tiempo: ${elapsed}s`, ); await prisma.$disconnect(); process.exit(r.totalErrores > 0 ? 1 : 0); } main().catch(async (err) => { console.error('Fatal:', err); await prisma.$disconnect().catch(() => {}); process.exit(1); });