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
This commit is contained in:
31
plans/gestor-coleccion-plan-phase-5-complete.md
Normal file
31
plans/gestor-coleccion-plan-phase-5-complete.md
Normal file
@@ -0,0 +1,31 @@
|
||||
## 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` — 5–6 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
|
||||
Reference in New Issue
Block a user