Saltar a contenido

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)

  1. exec ods.venta_puma_v2 @fechaproceso y exec ods.stock_puma_v2 @fechaproceso (valida que traigan las columnas esperadas).
  2. Escribe output/<aaaammdd>/{ventas,stock}_puma_<sucursal>_<dd_mm_aaaa>.txt (sin cabecera, ;, sin comillas, CRLF).
  3. Sube esos archivos por SFTP a /home/<usuario>/OUT (1 reintento de la sesion si falla).
  4. Solo si el envio salio bien, y de forma independiente: (a) backup: un zip por consulta en PUMA_BACKUP_DIR (o archive/<aaaammdd>/) y borra los TXT; (b) resumen por sucursal en ods.tbl_Info_Nike_New con Marca='PU' (borra y reinserta ese dia y marca).
  5. 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.