--- id: "US-SCR-004" title: "Programacion de jobs de actualizacion" type: "User Story" epic: "IAI-007" status: "Draft" story_points: 5 priority: "Media" project: "inmobiliaria-analytics" created_date: "2026-01-04" updated_date: "2026-01-04" --- # US-SCR-004: Programacion de jobs de actualizacion --- ## User Story **Como** administrador del sistema **Quiero** programar jobs de scraping automaticos **Para** mantener los datos actualizados sin intervencion manual --- ## Descripcion Implementar sistema de scheduling que permita programar full scans semanales, actualizaciones incrementales diarias, y verificacion de propiedades activas periodicamente. --- ## Criterios de Aceptacion - [ ] Jobs se programan con expresiones cron - [ ] Full scan ejecuta semanalmente (domingos 2am) - [ ] Incremental ejecuta diariamente (4am) - [ ] Jobs se pueden ejecutar bajo demanda via API - [ ] Jobs fallidos se reintentan con backoff - [ ] Progreso visible en dashboard --- ## Schedules Predefinidos ```yaml schedules: full_scan_inmuebles24: cron: "0 2 * * 0" tipo: full_scan config: source: inmuebles24 max_pages: 100 full_scan_vivanuncios: cron: "0 3 * * 0" tipo: full_scan config: source: vivanuncios max_pages: 100 incremental_all: cron: "0 4 * * *" tipo: incremental config: sources: [inmuebles24, vivanuncios] max_pages: 20 refresh_active: cron: "0 */6 * * *" tipo: refresh config: mark_inactive_after_days: 7 ``` --- ## Tareas Tecnicas | # | Tarea | Estimacion | |---|-------|------------| | 1 | Configurar Bull Queue | 2h | | 2 | Implementar job types | 4h | | 3 | Scheduler con cron | 3h | | 4 | Retry logic con backoff | 2h | | 5 | API endpoints | 3h | **Total estimado:** 14h (~2 dias) --- ## Definition of Done - [ ] Jobs se ejecutan segun schedule - [ ] Reintentos funcionan correctamente - [ ] API permite trigger manual - [ ] Logs detallados disponibles --- **Asignado a:** - **Sprint:** -