Saltar a contenido

Identified Scrapers Operational Status Report

Fecha: 2026-03-10 Revisor: Codex Corte de verificacion: 2026-03-10 03:57:15 +01:00 Estado: Revisado con evidencia runtime local

Alcance

Objetivo solicitado: verificar para cada scraper identificado si esta:

  • running
  • stopped
  • error/degraded

Incluyendo estado de servicios, salud de procesos y ultima actividad observable.

Fuentes revisadas

  • http://api.kalmiazen.com/health
  • http://api.kalmiazen.com/health/detailed
  • servicios Windows: postgresql-x64-16, RabbitMQ
  • proceso Windows: Orchestrator.Workers.exe
  • conexiones TCP del proceso worker
  • logs runtime:
  • Z:\Repositorios\platform\publish\workers\logs\orchestrator-workers-20260310_002.log
  • Z:\Repositorios\platform\publish\workers\logs\orchestrator-workers-errors-20260310_002.log
  • Z:\Repositorios\platform\publish\workers\logs\startup-20260310.log

Resultado Ejecutivo

La plataforma esta operativa a nivel de infraestructura (API, RabbitMQ, PostgreSQL y proceso de workers), pero no todos los scrapers estan sanos.

Estado consolidado:

Scraper/Worker Estado Ultima actividad observable Evidencia
SchedulerWorker RUNNING 2026-03-10 03:54:54 +01:00 [UPE:Scheduler] Found 1 due tasks
ClickUpSyncWorker RUNNING / IDLE 2026-03-10 03:54:44 +01:00 Batch sync completed: 0/0 items synced
DocumentDiscoveryWorker RUNNING / DEGRADED 2026-03-10 03:45:14 +01:00 discovery iniciado con multiples repos inaccesibles
UpeDataSourceSyncWorker ERROR PERSISTENTE 2026-03-10 03:57:15 +01:00 reintentos cada 30s por RabbitMQ PRECONDITION_FAILED
MaintenanceWorker RUNNING / DEGRADED 2026-03-10 03:44:44 +01:00 errores EF/Npgsql con public.vector

Verificaciones de servicio y proceso

  • postgresql-x64-16: Running
  • RabbitMQ: Running
  • Orchestrator.Workers.exe:
  • PID: 115872
  • StartTime: 2026-03-10 03:44:13 +01:00
  • conexiones Established a localhost:5432 y localhost:5672

Health HTTP:

  • GET /health: 200, {\"status\":\"healthy\",\"service\":\"Orchestrator.Api\"}
  • GET /health/detailed: 200, workers=healthy, timestamp 2026-03-10T02:55:40.3754178Z

Nota: el health global sigue siendo optimista frente a errores reales por worker.

Hallazgos

1) Alta: UpeDataSourceSyncWorker no responde funcionalmente

Estado real:

  • proceso vivo, pero scraper en ERROR
  • fallo repetido cada 30000ms
  • ultimo fallo observado: 2026-03-10 03:57:15 +01:00
  • causa: PRECONDITION_FAILED - inequivalent arg 'x-message-ttl' para cola upe.datasource.sync

Impacto:

  • el scraper no consume ni sincroniza datos mientras persista el conflicto de declaracion de cola.

2) Alta: health global no representa salud real por scraper

Aunque /health/detailed reporta workers=healthy, los logs muestran:

  • errores recurrentes del UpeDataSourceSyncWorker
  • errores System.InvalidCastException por public.vector en workers de mantenimiento/sync

Impacto:

  • existe falso positivo operacional si se usa solo health global.

3) Media: DocumentDiscoveryWorker activo pero degradado por rutas offline

Evidencia en el ultimo ciclo:

  • inicio discovery: 2026-03-10 03:45:14 +01:00
  • multiples Repo path does not exist or is not accessible
  • incluye Z:\Repositorios\apps\calmia\Spacex-tracker y otras rutas null/inexistentes

Impacto:

  • cobertura de recoleccion incompleta en discovery documental.

4) Media: MaintenanceWorker corre, pero con errores de tipado pgvector

Evidencia:

  • excepciones repetidas System.InvalidCastException
  • mensaje: Reading as 'System.Object' is not supported for fields having DataTypeName 'public.vector'
  • ultimo error con timestamp observado: 2026-03-10 03:44:44 +01:00

Impacto:

  • tareas de mantenimiento/consulta pueden fallar o degradarse.

5) Baja: SchedulerWorker y ClickUpSyncWorker operativos en este corte

Evidencia:

  • SchedulerWorker encontro tareas due a 03:54:54
  • ClickUpSyncWorker ejecuto batch a 03:54:44 (0/0, sin backlog)

Nota:

  • en este corte no hay evidencia de worker stopped; el proceso principal sigue activo desde 03:44:13.

Componentes no responding / offline

  • UpeDataSourceSyncWorker: offline funcional (retry continuo, sin consumo exitoso).
  • DocumentDiscoveryWorker (parcial): repos offline/no accesibles quedan fuera de proceso.
  • No se detecto stopped total del host de workers en este corte (proceso y dependencias activos).

Conclusiones

Estado por scraper identificado en este corte (2026-03-10 03:57:15 +01:00):

  • SchedulerWorker: RUNNING
  • ClickUpSyncWorker: RUNNING / IDLE
  • DocumentDiscoveryWorker: RUNNING / DEGRADED
  • UpeDataSourceSyncWorker: ERROR PERSISTENTE
  • MaintenanceWorker: RUNNING / DEGRADED

La prioridad operativa inmediata sigue siendo corregir el conflicto de RabbitMQ en upe.datasource.sync, porque mantiene un scraper identificado en fallo continuo.