RUNBOOK — job-reporte-ejecutivo-ventas¶
| Dato | L04 reporte_ejecutivo_ventas | L05 read_sharepoint_ventas_proyectadas |
|---|---|---|
| Programacion | 15 8 * * * |
0 19 * * * (tentativo) |
| Comando | .venv/bin/python -m reporte_ejecutivo_ventas reporte |
.venv/bin/python -m reporte_ejecutivo_ventas proyectadas |
Auditoria (ATHENAS.ods.tbl_control_procesos) |
ID08 - PY_LINUX_Reporte_Ejecutivo_Ventas |
ID08 - PY_LINUX_Read_Sharepoint |
| Logs | /var/log/dabra/reporte_ejecutivo_ventas/ |
/var/log/dabra/read_sharepoint_ventas_proyectadas/ |
| Datos | /var/lib/dabra/reporte_ejecutivo_ventas/output/reporte_ventas.html |
no deja archivos |
Duracion esperada: sin medir (el original no registra tiempos utiles). Timeouts propuestos: 20 y 15 min. Auditoria de 7 columnas; estados Success / Error.
| Codigo | Significado | Accion |
|---|---|---|
| 0 | Todo bien | — |
| 1 | Fallo SP/consulta/SharePoint/carga/envio, o no se pudo auditar | Ver log y correo "ERROR"; reejecutar |
| 2 | Configuracion invalida (falta una variable) | Revisar .env |
Comandos¶
python -m reporte_ejecutivo_ventas reporte --dry-run # NO ejecuta el SP, lee las tablas tal como estan, deja el HTML en output/; no envia ni audita
python -m reporte_ejecutivo_ventas reporte --destinatarios <correo> # envia SOLO a esa direccion (prueba real)
python -m reporte_ejecutivo_ventas reporte # produccion: a REPORTE_EJECUTIVO_TO (una vez al dia)
python -m reporte_ejecutivo_ventas reporte --force # reenvia aunque hoy ya se haya enviado
python -m reporte_ejecutivo_ventas proyectadas --dry-run # lee y valida los Excel; no carga ni ejecuta el SP
python -m reporte_ejecutivo_ventas proyectadas # produccion
python -m reporte_ejecutivo_ventas proyectadas --recrear-staging # si cambiaron las columnas de la tabla de staging
Reproceso¶
- L05 es idempotente: vacia y recarga el staging y re-ejecuta el SP. Seguro de repetir.
- L04 no envia dos veces el mismo dia: tras un envio correcto deja
state/enviado_AAAA-MM-DD.json. Una segunda corrida sale con 0 y escribe el WARNINGReporte YA ENVIADO hoy ...(se ve en el log y en el panel), sin ejecutar el SP, enviar ni auditar. Si el envio fallo no hay marca y se puede reintentar normalmente. Para reenviar a proposito:--force(manda otro correo a toda la direccion). Para probar:--dry-runo--destinatarios, que ignoran la marca. - L05 debe haber corrido bien antes que L04 del dia siguiente (el SP de L04 usa las proyecciones).
Rollback¶
No hay. Un reporte mal enviado se corrige reenviando; el staging se corrige recargando.
Problemas conocidos¶
- Si una de las tres tablas del reporte esta vacia, no se envia nada (como el original) y se avisa a
ESTRATEGIA_ERROR_TO. - Si L05 no encuentra
.xlsxterminaSuccesscon 0 registros (como el original) y deja un WARNING "0 registros"; no envia correo. - Si cambia el formato de un Excel (menos de 6 columnas) L05 falla con un mensaje claro; el original asignaba mal los nombres sin avisar.
Fuente: repositorio job-reporte-ejecutivo-ventas, versión c490d87. Página generada con tools/publicar_docs.py.