2026-08-05 05:15:37 INFO Log iniciado → /Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/logs/cierres/cierre_2026_07_20260805_051537.log 2026-08-05 05:15:37 INFO ====================================================================== 2026-08-05 05:15:37 INFO CIERRE DE MES — Julio 2026 2026-08-05 05:15:37 INFO Ejecutado: 05/08/2026 05:15:37 2026-08-05 05:15:37 INFO EMPLEADOS — solo se insertan si el periodo está vacío 2026-08-05 05:15:37 INFO ====================================================================== 2026-08-05 05:15:38 INFO NITs activos encontrados: 18 2026-08-05 05:15:38 INFO 2026-08-05 05:15:38 INFO [ 1/2 ] EMPLEADOS 2026-08-05 05:15:38 INFO ⚠️ Ya existen 952 registros para Julio 2026 2026-08-05 05:15:38 INFO Se conserva el cierre existente; no se recargan empleados 2026-08-05 05:15:38 INFO 2026-08-05 05:15:38 INFO [ 2/2 ] INGRESOS Y RETIROS 2026-08-05 05:15:38 INFO ⚠️ Ya existen 89 movimientos IR para Julio 2026 2026-08-05 05:15:38 INFO Se sobreescribirán (DELETE + INSERT para mantener datos frescos) 2026-08-05 05:15:39 INFO Eliminados 89 movimientos anteriores 2026-08-05 05:15:39 INFO Llamando API de IR… 2026-08-05 06:53:25 ERROR 2026-08-05 06:53:25 ERROR ====================================================================== 2026-08-05 06:53:25 ERROR ❌ ERROR EN CIERRE — The read operation timed out 2026-08-05 06:53:25 ERROR Traceback (most recent call last): File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 706, in ejecutar_cierre ir_rows = fetch_ir(ano, mes) File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 546, in fetch_ir data = api_post("/rrhh/ingresos-retiros", {**_ir_base, "tipo_nomina_id": tipo_id}) File "/Users/ricardomartinez/BIA CLAUDE PROYECTOS/Proyectos Claude IA/Talento Humano Api Dashboard/cierre_mes.py", line 111, in api_post with urllib.request.urlopen(req, timeout=timeout, 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-05 06:53:25 ERROR ======================================================================