RUNBOOK — job-ingesta-dolarapi¶
dolarapi_minerva (L21)¶
| Dato | Valor |
|---|---|
| Programación | Por definir (inventario: manual, sin cron). Propuesta: 0 19 * * * (el readme original pedía “después de las 19 hs”) |
| Duración esperada | < 1 min (propuesto; medir) |
| Timeout | 10 min (propuesto) |
| Comando | .venv/bin/python -m ingesta_dolarapi |
| Efecto | Escribe en MINERVA.ods.usd_exchange_rates (reemplaza por casa+fecha) y en tbl_control_procesos; envía correo |
| Logs | /var/log/dabra/dolarapi_minerva/<fecha_hora>.log |
| Auditoría | MINERVA.ods.tbl_control_procesos, id ID12 - USD Exchange Rate |
| Código | Significado | Acción |
|---|---|---|
| 0 | Cotizaciones cargadas | — |
| 1 | Falló la API (tras 3 intentos), la carga o la auditoría | Ver log y correo; reejecutar |
| 2 | Configuración faltante | Revisar .env |
python -m ingesta_dolarapi --dry-run # descarga y muestra, sin tocar nada
python -m ingesta_dolarapi # real
Reproceso: seguro. Reemplaza las filas de la misma casa y fecha dentro de una transacción; si algo falla se revierte. Cada ejecución real inserta una fila de auditoría y envía correo.
Rollback: no hay. Para deshacer una carga, borrar de usd_exchange_rates las filas de esa fecha (la API no guarda histórico propio).
Problemas conocidos: si falla el correo el job NO falla (solo WARNING). Si la tabla destino aún no existe, la primera carga falla en el DELETE (en producción ya existe).
Fuente: repositorio job-ingesta-dolarapi, versión 2180fb5 (con cambios locales). Página generada con tools/publicar_docs.py.