🔄 cierre_mes.py — Julio 2026 01/08/2026 05:03:31 2026-08-01 05:03:31 INFO Log iniciado → /Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/logs/cierres/cierre_2026_07_20260801_050331.log 2026-08-01 05:03:31 INFO ====================================================================== 2026-08-01 05:03:31 INFO CIERRE DE MES — Julio 2026 2026-08-01 05:03:31 INFO Ejecutado: 01/08/2026 05:03:31 2026-08-01 05:03:31 INFO EMPLEADOS — usando GET /rrhh/empleados-activos-detalle 2026-08-01 05:03:31 INFO ====================================================================== 2026-08-01 05:03:32 INFO NITs activos encontrados: 18 2026-08-01 05:03:32 INFO 2026-08-01 05:03:32 INFO [ 1/2 ] EMPLEADOS 2026-08-01 05:03:32 INFO Sin datos previos — inserción fresca 2026-08-01 05:03:32 INFO Socios activos cargados: 20 2026-08-01 06:12:50 ERROR 2026-08-01 06:12:50 ERROR ====================================================================== 2026-08-01 06:12:50 ERROR ❌ ERROR EN CIERRE — The read operation timed out 2026-08-01 06:12:50 ERROR Traceback (most recent call last): File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 669, in ejecutar_cierre total_emps = insertar_empleados_activos_detalle( conn, ano, mes, hotel_bu_map, nit_bu_map, nit_razon, socios_set, logger ) File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 320, in insertar_empleados_activos_detalle hoteles = fetch_empleados_activos_detalle() File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 309, in fetch_empleados_activos_detalle with urllib.request.urlopen(req, timeout=60, context=SSL_CTX) as resp: ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 487, in open response = self._open(req, data) File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 504, in _open result = self._call_chain(self.handle_open, protocol, protocol + '_open', req) File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 1369, in https_open return self.do_open(http.client.HTTPSConnection, req, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ context=self._context) ^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 1325, in do_open r = h.getresponse() File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/http/client.py", line 1450, in getresponse response.begin() ~~~~~~~~~~~~~~^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/http/client.py", line 336, in begin version, status, reason = self._read_status() ~~~~~~~~~~~~~~~~~^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/http/client.py", line 297, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/socket.py", line 725, in readinto return self._sock.recv_into(b) ~~~~~~~~~~~~~~~~~~~~^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/ssl.py", line 1304, in recv_into return self.read(nbytes, buffer) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/ssl.py", line 1138, in read return self._sslobj.read(len, buffer) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ TimeoutError: The read operation timed out 2026-08-01 06:12:50 ERROR ====================================================================== ⏳ Reintentando en 1 hora(s)… 2026-08-01 13:26:31 INFO Log iniciado → /Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/logs/cierres/cierre_2026_07_20260801_132631.log 2026-08-01 13:26:31 INFO ====================================================================== 2026-08-01 13:26:31 INFO CIERRE DE MES — Julio 2026 2026-08-01 13:26:31 INFO Ejecutado: 01/08/2026 13:26:31 2026-08-01 13:26:31 INFO EMPLEADOS — usando GET /rrhh/empleados-activos-detalle 2026-08-01 13:26:31 INFO ====================================================================== 2026-08-01 13:26:32 INFO NITs activos encontrados: 18 2026-08-01 13:26:32 INFO 2026-08-01 13:26:32 INFO [ 1/2 ] EMPLEADOS 2026-08-01 13:26:32 INFO Sin datos previos — inserción fresca 2026-08-01 13:26:32 INFO Socios activos cargados: 20 2026-08-01 13:26:35 INFO ✅ Empleados activos insertados desde detalle vivo: 952 2026-08-01 13:26:35 INFO 2026-08-01 13:26:35 INFO [ 2/2 ] INGRESOS Y RETIROS 2026-08-01 13:26:35 INFO Sin datos previos — inserción fresca 2026-08-01 13:26:35 INFO Llamando API de IR… 2026-08-01 13:26:38 INFO Movimientos recibidos de la API: 89 2026-08-01 13:26:38 INFO ✅ Movimientos IR insertados: 89 2026-08-01 13:26:38 INFO 2026-08-01 13:26:38 INFO ====================================================================== 2026-08-01 13:26:38 INFO ✅ CIERRE COMPLETADO — Julio 2026 2026-08-01 13:26:38 INFO Empleados: 952 2026-08-01 13:26:38 INFO IR: 89 2026-08-01 13:26:38 INFO ====================================================================== 🔄 cierre_mes.py — Agosto 2026 01/09/2026 05:15:01 2026-09-01 05:15:01 INFO Log iniciado → /Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/logs/cierres/cierre_2026_08_20260901_051501.log 2026-09-01 05:15:01 INFO ====================================================================== 2026-09-01 05:15:01 INFO CIERRE DE MES — Agosto 2026 2026-09-01 05:15:01 INFO Ejecutado: 01/09/2026 05:15:01 2026-09-01 05:15:01 INFO EMPLEADOS — usando GET /rrhh/empleados-activos-detalle 2026-09-01 05:15:01 INFO ====================================================================== 2026-09-01 05:15:02 INFO NITs activos encontrados: 18 2026-09-01 05:15:02 INFO 2026-09-01 05:15:02 INFO [ 1/2 ] EMPLEADOS 2026-09-01 05:15:02 INFO ⚠️ Ya existen 1003 registros para Agosto 2026 2026-09-01 05:15:02 INFO Se sobreescribirán (DELETE + INSERT para mantener datos frescos) 2026-09-01 05:15:02 INFO Eliminados 1003 registros anteriores 2026-09-01 05:15:02 INFO Socios activos cargados: 20 2026-09-01 05:15:05 WARNING ⚠️ La API empleados-activos-detalle NO devolvió 1 NIT(s) esperado(s): 2026-09-01 05:15:05 WARNING - NIT 800157788 (razon_social≈PSOL) — quedará SIN empleados en este cierre 2026-09-01 05:15:05 INFO ✅ Empleados activos insertados desde detalle vivo: 1003 2026-09-01 05:15:05 INFO 2026-09-01 05:15:05 INFO [ 2/2 ] INGRESOS Y RETIROS 2026-09-01 05:15:11 INFO ⚠️ Ya existen 105 movimientos IR para Agosto 2026 2026-09-01 05:15:11 INFO Se sobreescribirán (DELETE + INSERT para mantener datos frescos) 2026-09-01 05:15:11 INFO Eliminados 105 movimientos anteriores 2026-09-01 05:15:11 INFO Llamando API de IR… 2026-09-01 05:15:14 INFO Movimientos recibidos de la API: 105 2026-09-01 05:15:14 INFO ✅ Movimientos IR insertados: 105 2026-09-01 05:15:14 INFO 2026-09-01 05:15:14 INFO ====================================================================== 2026-09-01 05:15:14 INFO ✅ CIERRE COMPLETADO — Agosto 2026 2026-09-01 05:15:14 INFO Empleados: 1003 2026-09-01 05:15:14 INFO IR: 105 2026-09-01 05:15:14 INFO ======================================================================