Files
quasar/plans/gestor-coleccion-plan-phase-5-complete.md
Benito Rodríguez 4298b003d9 feat: import job runner in-memory
- Añade ImportRunner en memoria con concurrencia configurable
- Tests TDD para enqueue, concurrencia y comportamiento tras stop
- Actualiza /api/import/scan para encolar jobs y registrar errores
- Ajusta tsconfig.json para incluir tests en comprobaciones de tipo
2026-02-08 22:24:56 +01:00

1.4 KiB
Raw Blame History

Phase 5 Complete: Job runner en memoria

TL;DR: Se implementó un runner en memoria (ImportRunner) con control de concurrencia configurable, API de encolado (enqueue), estado (getStatus) y utilidades de parada (stop, stopAndWait). Se añadieron tests TDD que cubren concurrencia, rechazo tras stop y contabilización de tareas completadas. La ruta de importación ahora encola jobs en background y registra errores.

Files created/changed:

  • backend/src/config.ts
  • backend/src/jobs/importRunner.ts
  • backend/src/routes/import.ts
  • backend/tests/jobs/importRunner.spec.ts
  • backend/tsconfig.json

Functions created/changed:

  • ImportRunner (class) — enqueue, getStatus, start, stop, stopAndWait.
  • runner (singleton) — instanciado y arrancado por defecto.
  • IMPORT_CONCURRENCY (export) in config.ts.

Tests created/changed:

  • backend/tests/jobs/importRunner.spec.ts — 56 tests (enqueue result, concurrencia, getStatus, rechazo tras stop, completed incrementa en rechazo).

Review Status: APPROVED

Git Commit Message: feat: import job runner in-memory

  • Añade ImportRunner en memoria con concurrencia configurable
  • Tests TDD para enqueue, concurrencia y comportamiento tras stop
  • Actualiza /api/import/scan para encolar jobs y registrar errores
  • Ajusta tsconfig.json para incluir tests en comprobaciones de tipo