job-envio-puma¶
Envia a Puma, por SFTP, las ventas y el stock del dia anterior (un TXT por sucursal y consulta), deja un zip de backup y registra el resumen por sucursal. Catalogo: W01.
Uso¶
pip install -e .[dev]
cp .env.example .env # completar
python -m envio_puma --dry-run # ejecuta los SP y deja los TXT en output/, sin SFTP
python -m envio_puma # ayer
python -m envio_puma --fecha 2026-10-07 # reproceso de un dia
python -m envio_puma --desde 2026-10-01 --hasta 2026-10-07 # rango (un envio por dia)
Codigos de salida: 0 ok | 1 fallo | 2 configuracion/uso.
Que hace (por cada dia)¶
exec ods.venta_puma_v2 @fechaprocesoyexec ods.stock_puma_v2 @fechaproceso(valida que traigan las columnas esperadas).- Escribe
output/<aaaammdd>/{ventas,stock}_puma_<sucursal>_<dd_mm_aaaa>.txt(sin cabecera,;, sin comillas, CRLF). - Sube esos archivos por SFTP a
/home/<usuario>/OUT(1 reintento de la sesion si falla). - Solo si el envio salio bien, y de forma independiente: (a) backup: un zip por consulta en
PUMA_BACKUP_DIR(oarchive/<aaaammdd>/) y borra los TXT; (b) resumen por sucursal enods.tbl_Info_Nike_NewconMarca='PU'(borra y reinserta ese dia y marca). - Una fila en
ods.tbl_control_procesos(ID08 - PY_ENVIA_EXTERNO_TXT_PUMA_DIARIA_ATHENAS, Success/Error) al terminar todos los dias.
Verificacion¶
pytest && python -m ruff check . && python tools/verify_equivalence.py <ruta>/code/activo/PY_ENVIA_EXTERNO_TXT_PUMA_DIARIA_ATHENAS --mutaciones
Fuente: repositorio job-envio-puma, versión 26f42c3 (con cambios locales). Página generada con tools/publicar_docs.py.