🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
102 lines
2.0 KiB
Markdown
102 lines
2.0 KiB
Markdown
---
|
|
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:** -
|