RUNBOOK job-envio-nike¶
| Sintoma | Causa probable | Accion |
|---|---|---|
| exit 2 "Falta la variable..." | .env incompleto |
Completar ATHENAS_DB_URL y NIKE_SFTP_* |
| "Ya hay otra ejecucion en curso" (exit 1) | Otra corrida (o un reproceso manual) tiene el lock | Esperar que termine; el lock lo libera el SO si el proceso muere (no queda "huerfano") |
| "Error en la fecha ... (queries): ... no devolvio las columnas esperadas: X" | Cambio de esquema en el SP | Avisar a BI; relanzar con --desde tras corregir |
| "Error en la fecha ... (create_files): Ventas y stock no devolvieron sucursales" | Los SP no devolvieron filas | Revisar la carga de ATHENAS; relanzar |
| "Timeout en la subida SFTP (intento n/3)" (WARNING) | Lentitud en el SFTP (65 timeouts en el log del original) | Sin accion si se recupera |
| "Fallo la subida SFTP por timeout tras 3 intentos" / "(upload)" | Nike inalcanzable o clave vencida | Verificar NIKE_SFTP_* y red; la fecha queda pendiente: relanzar con --desde. Los TXT quedan en output/<aaaammdd>/ |
| "El destino ya existe en el SFTP y NIKE_SFTP_OVERWRITE es false" | Reenvio con overwrite apagado | Poner NIKE_SFTP_OVERWRITE=true si el reenvio es intencional |
| "No se pudo renombrar x.tmp -> x" | Permisos del directorio remoto | Revisar el usuario SFTP; el .tmp se borra solo |
| "Error en el backup (...)" | NIKE_BACKUP_DIR no montado o sin permiso (57 Permission denied en el log del original) |
Revisar el montaje CIFS; el envio SI se hizo |
| "Error registrando el resumen por sucursal" | BD inaccesible o sin permiso en tbl_Info_Nike_New |
El envio y el backup ya estan hechos; relanzar el dia reenviaria los TXT, por lo que conviene insertar el resumen a mano |
| "Error registrando tbl_control_procesos" | BD inaccesible o sin permiso | Los archivos ya se subieron; revisar BD |
Reproceso: python -m envio_nike --desde AAAA-MM-DD [--hasta AAAA-MM-DD]. Con NIKE_SFTP_OVERWRITE=true reemplaza lo entregado (avisar a Nike). El resumen NI de ese dia se reemplaza.
Probar sin enviar: --dry-run (deja los TXT en output/; no sube, no respalda, no registra nada).
Fuente: repositorio job-envio-nike, versión 693f92b (con cambios locales). Página generada con tools/publicar_docs.py.