- 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
1.4 KiB
1.4 KiB
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) inconfig.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
ImportRunneren memoria con concurrencia configurable - Tests TDD para enqueue, concurrencia y comportamiento tras
stop - Actualiza
/api/import/scanpara encolar jobs y registrar errores - Ajusta
tsconfig.jsonpara incluirtestsen comprobaciones de tipo