[03:25:40] [INFO] ============================================
[03:25:40] [INFO] CRON MAESTRO INICIADO [completo]
[03:25:40] [INFO] ============================================
[03:25:40] [INFO] Evaluando estado del sistema...
[03:25:40] [INFO] Partidos encontrados para 2026-05-11: 14
[03:25:40] [INFO] Partidos sin análisis IA: 14. Ejecutando ANALYZE...
[03:25:40] [INFO] → Ejecutando: /home/hackruzc/web.hackruz.com/ai_processor.php
[03:25:40] [ERROR] Error en analyze: syntax error, unexpected token "." | {"file":"\/home\/hackruzc\/web.hackruz.com\/ai_processor.php","line":207}
[03:25:40] [INFO] Todos los partidos tienen veredicto final.
[03:25:40] [INFO] RESUMEN FINAL → Partidos: 14 | Analizados: 0 | Con veredicto: 0
[03:25:40] [INFO] CRON FINALIZADO en 0.01s
[03:25:40] [INFO] ============================================
[03:25:50] [INFO] === AI PROCESSOR v2.0 (Workers Dinámicos) ===
[03:25:50] [INFO] 4 workers activos: Gemini 2.0 Flash Lite, Gemini 2.5 Flash Lite, Groq Llama 3.3 70B, OpenAI GPT-4o Mini
[03:25:50] [INFO] 2 partidos a procesar.
[03:25:50] [INFO] Procesando: Cagliari vs Udinese (ID: 2265386)
[03:25:50] [INFO] → Intentando worker: Gemini 2.0 Flash Lite
[03:25:50] [WARN] HTTP 429 en generativelanguage.googleapis.com | {"errno":0}
[03:25:50] [WARN] Rate limit (429) en Gemini 2.0 Flash Lite
[03:25:50] [WARN] ✗ Gemini 2.0 Flash Lite falló, probando siguiente...
[03:25:52] [INFO] → Intentando worker: Gemini 2.5 Flash Lite
[03:25:52] [WARN] HTTP 403 en generativelanguage.googleapis.com | {"errno":0}
[03:25:52] [WARN] ✗ Gemini 2.5 Flash Lite falló, probando siguiente...
[03:25:54] [INFO] → Intentando worker: Groq Llama 3.3 70B
[03:25:54] [INFO] ✓ Groq Llama 3.3 70B respondió: no_apostar (30%)
[03:26:26] [INFO] === CONSENSUS INICIADO ===
[03:26:26] [INFO] No hay partidos listos para consenso.
[03:33:25] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[03:33:25] [INFO] 2 APIs disponibles: apifootball.com → TheSportsDB (Sin key)
[03:33:25] [INFO] Buscando: 2026-05-11
[03:33:25] [INFO] ✓ apifootball.com respondió con 3 partidos
[03:33:25] [INFO] Liga 239: 3 partidos
[03:33:27] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:27] [INFO] Liga 152: 1 partidos
[03:33:28] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:28] [INFO] Liga 302: 1 partidos
[03:33:30] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:30] [INFO] Liga 207: 1 partidos
[03:33:31] [WARN] apifootball: 404
[03:33:32] [WARN] apifootball: 404
[03:33:34] [WARN] apifootball: 404
[03:33:35] [WARN] apifootball: 404
[03:33:36] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:36] [INFO] Liga 13: 1 partidos
[03:33:38] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:38] [INFO] Liga 14: 1 partidos
[03:33:39] [WARN] apifootball: 404
[03:33:41] [WARN] apifootball: 404
[03:33:42] [INFO] ✓ apifootball.com respondió con 2 partidos
[03:33:42] [INFO] Liga 333: 2 partidos
[03:33:43] [INFO] ✓ apifootball.com respondió con 2 partidos
[03:33:43] [INFO] Liga 332: 2 partidos
[03:33:45] [WARN] apifootball: 404
[03:33:46] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:46] [INFO] Liga 140: 1 partidos
[03:33:48] [WARN] apifootball: 404
[03:33:49] [INFO] ✓ apifootball.com respondió con 1 partidos
[03:33:49] [INFO] Liga 142: 1 partidos
[03:33:50] [WARN] apifootball: 404
[03:33:52] [WARN] apifootball: 404
[03:33:53] [WARN] apifootball: 404
[03:33:55] [WARN] apifootball: 404
[07:00:08] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[07:00:08] [INFO] 2 APIs disponibles: apifootball.com → TheSportsDB (Sin key)
[07:00:08] [INFO] Buscando: 2026-05-11
[07:00:09] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:00:09] [INFO] Liga 239: 3 partidos
[07:00:10] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:10] [INFO] Liga 152: 1 partidos
[07:00:12] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:12] [INFO] Liga 302: 1 partidos
[07:00:13] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:13] [INFO] Liga 207: 1 partidos
[07:00:15] [WARN] apifootball: 404
[07:00:16] [WARN] apifootball: 404
[07:00:17] [WARN] apifootball: 404
[07:00:19] [WARN] apifootball: 404
[07:00:20] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:20] [INFO] Liga 13: 1 partidos
[07:00:22] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:22] [INFO] Liga 14: 1 partidos
[07:00:23] [WARN] apifootball: 404
[07:00:25] [WARN] apifootball: 404
[07:00:26] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:00:26] [INFO] Liga 333: 2 partidos
[07:00:27] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:00:27] [INFO] Liga 332: 2 partidos
[07:00:29] [WARN] apifootball: 404
[07:00:30] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:30] [INFO] Liga 140: 1 partidos
[07:00:32] [WARN] apifootball: 404
[07:00:33] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:33] [INFO] Liga 142: 1 partidos
[07:00:34] [WARN] apifootball: 404
[07:00:36] [WARN] apifootball: 404
[07:00:37] [WARN] apifootball: 404
[07:00:39] [WARN] apifootball: 404
[07:00:40] [WARN] apifootball: 404
[07:00:41] [INFO] Sin partidos para 2026-05-11
[07:00:41] [INFO] Buscando: 2026-05-12
[07:00:41] [WARN] apifootball: 404
[07:00:43] [WARN] apifootball: 404
[07:00:44] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:00:44] [INFO] Liga 302: 3 partidos
[07:00:44] [INFO]   [apifootball] Osasuna vs Atl. Madrid (ID:610973)
[07:00:49] [INFO]   ✓ Guardado + H2H + Cuotas
[07:00:49] [INFO]   [apifootball] Betis vs Elche (ID:610974)
[07:00:54] [INFO]   ✓ Guardado + H2H + Cuotas
[07:00:54] [INFO]   [apifootball] Celta Vigo vs Levante (ID:610976)
[07:00:59] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:01] [WARN] apifootball: 404
[07:01:02] [WARN] apifootball: 404
[07:01:03] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:03] [INFO] Liga 168: 1 partidos
[07:01:03] [INFO]   [apifootball] Red Star vs Rodez (ID:763850)
[07:01:08] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:10] [WARN] apifootball: 404
[07:01:11] [WARN] apifootball: 404
[07:01:13] [WARN] apifootball: 404
[07:01:14] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:14] [INFO] Liga 14: 1 partidos
[07:01:14] [INFO]   [apifootball] Djurgarden W vs Hammarby W (ID:717220)
[07:01:19] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:20] [WARN] apifootball: 404
[07:01:22] [WARN] apifootball: 404
[07:01:23] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:23] [INFO] Liga 333: 1 partidos
[07:01:23] [INFO]   [apifootball] Cerro Largo vs Penarol (ID:763338)
[07:01:28] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:29] [WARN] apifootball: 404
[07:01:31] [WARN] apifootball: 404
[07:01:32] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:32] [INFO] Liga 140: 1 partidos
[07:01:32] [INFO]   [apifootball] Mushuc Runa vs LDU Quito (ID:738912)
[07:01:37] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:39] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:01:39] [INFO] Liga 141: 3 partidos
[07:01:39] [INFO]   [apifootball] El Gouna vs Kahrabaa Ismailia (ID:752927)
[07:01:43] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:43] [INFO]   [apifootball] Pharco vs Modern Sport (ID:752928)
[07:01:48] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:48] [INFO]   [apifootball] Wadi Degla vs El Ismaily (ID:752929)
[07:01:53] [INFO]   ✓ Guardado + H2H + Cuotas
[07:01:55] [WARN] apifootball: 404
[07:01:56] [WARN] apifootball: 404
[07:01:57] [WARN] apifootball: 404
[07:01:59] [WARN] apifootball: 404
[07:02:00] [WARN] apifootball: 404
[07:02:02] [WARN] apifootball: 404
[07:02:03] [INFO] ✓ 2026-05-12: 10 partidos guardados
[07:02:03] [INFO] === FETCHER FINALIZADO | Guardados: 10 ===
[20:00:05] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[20:00:05] [INFO] 2 APIs disponibles: apifootball.com → TheSportsDB (Sin key)
[20:00:05] [INFO] Buscando: 2026-05-11
[20:00:06] [INFO] ✓ apifootball.com respondió con 3 partidos
[20:00:06] [INFO] Liga 239: 3 partidos
[20:00:07] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:07] [INFO] Liga 152: 1 partidos
[20:00:09] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:09] [INFO] Liga 302: 1 partidos
[20:00:10] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:10] [INFO] Liga 207: 1 partidos
[20:00:12] [WARN] apifootball: 404
[20:00:13] [WARN] apifootball: 404
[20:00:14] [WARN] apifootball: 404
[20:00:16] [WARN] apifootball: 404
[20:00:17] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:17] [INFO] Liga 13: 1 partidos
[20:00:19] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:19] [INFO] Liga 14: 1 partidos
[20:00:20] [WARN] apifootball: 404
[20:00:21] [WARN] apifootball: 404
[20:00:23] [INFO] ✓ apifootball.com respondió con 2 partidos
[20:00:23] [INFO] Liga 333: 2 partidos
[20:00:24] [INFO] ✓ apifootball.com respondió con 2 partidos
[20:00:24] [INFO] Liga 332: 2 partidos
[20:00:26] [WARN] apifootball: 404
[20:00:27] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:27] [INFO] Liga 140: 1 partidos
[20:00:29] [WARN] apifootball: 404
[20:00:30] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:30] [INFO] Liga 142: 1 partidos
[20:00:31] [WARN] apifootball: 404
[20:00:33] [WARN] apifootball: 404
[20:00:34] [WARN] apifootball: 404
[20:00:36] [WARN] apifootball: 404
[20:00:37] [WARN] apifootball: 404
[20:00:38] [INFO] Sin partidos para 2026-05-11
[20:00:38] [INFO] Buscando: 2026-05-12
[20:00:38] [WARN] apifootball: 404
[20:00:40] [WARN] apifootball: 404
[20:00:41] [INFO] ✓ apifootball.com respondió con 3 partidos
[20:00:41] [INFO] Liga 302: 3 partidos
[20:00:43] [WARN] apifootball: 404
[20:00:44] [WARN] apifootball: 404
[20:00:46] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:46] [INFO] Liga 168: 1 partidos
[20:00:47] [WARN] apifootball: 404
[20:00:48] [WARN] apifootball: 404
[20:00:50] [WARN] apifootball: 404
[20:00:51] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:51] [INFO] Liga 14: 1 partidos
[20:00:53] [WARN] apifootball: 404
[20:00:54] [WARN] apifootball: 404
[20:00:55] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:00:55] [INFO] Liga 333: 1 partidos
[20:00:57] [WARN] apifootball: 404
[20:00:58] [WARN] apifootball: 404
[20:01:00] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:01:00] [INFO] Liga 140: 1 partidos
[20:01:01] [INFO] ✓ apifootball.com respondió con 3 partidos
[20:01:01] [INFO] Liga 141: 3 partidos
[20:01:02] [WARN] apifootball: 404
[20:01:04] [WARN] apifootball: 404
[20:01:05] [WARN] apifootball: 404
[20:01:06] [WARN] apifootball: 404
[20:01:08] [WARN] apifootball: 404
[20:01:09] [WARN] apifootball: 404
[20:01:10] [INFO] Sin partidos para 2026-05-12
[20:01:10] [INFO] Buscando: 2026-05-13
[20:01:11] [WARN] apifootball: 404
[20:01:12] [INFO] ✓ apifootball.com respondió con 1 partidos
[20:01:12] [INFO] Liga 152: 1 partidos
[20:01:12] [INFO]   [apifootball] Manchester City vs Crystal Palace (ID:619775)
[20:01:17] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:18] [INFO] ✓ apifootball.com respondió con 4 partidos
[20:01:18] [INFO] Liga 302: 4 partidos
[20:01:18] [INFO]   [apifootball] Getafe vs Mallorca (ID:610969)
[20:01:23] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:23] [INFO]   [apifootball] Espanyol vs Ath Bilbao (ID:610971)
[20:01:28] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:28] [INFO]   [apifootball] Alaves vs Barcelona (ID:610975)
[20:01:33] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:33] [INFO]   [apifootball] Villarreal vs Sevilla (ID:610977)
[20:01:38] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:40] [WARN] apifootball: 404
[20:01:41] [WARN] apifootball: 404
[20:01:42] [INFO] ✓ apifootball.com respondió con 2 partidos
[20:01:42] [INFO] Liga 168: 2 partidos
[20:01:42] [INFO]   [apifootball] Brest vs Strasbourg (ID:603503)
[20:01:47] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:47] [INFO]   [apifootball] Lens vs PSG (ID:603507)
[20:01:52] [INFO]   ✓ Guardado + H2H + Cuotas
[20:01:54] [WARN] apifootball: 404
[20:01:55] [WARN] apifootball: 404
[20:01:56] [WARN] apifootball: 404
[20:01:58] [WARN] apifootball: 404
[20:01:59] [WARN] apifootball: 404
[20:02:01] [WARN] apifootball: 404
[20:02:02] [WARN] apifootball: 404
[20:02:03] [WARN] apifootball: 404
[20:02:05] [WARN] apifootball: 404
[20:02:06] [WARN] apifootball: 404
[20:02:08] [INFO] ✓ apifootball.com respondió con 4 partidos
[20:02:08] [INFO] Liga 141: 4 partidos
[20:02:08] [INFO]   [apifootball] ZED vs Ghazl El Mahallah (ID:752930)
[20:02:12] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:12] [INFO]   [apifootball] Haras El Hodood vs Arab Contractors (ID:752931)
[20:02:17] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:17] [INFO]   [apifootball] Al Ittihad vs El Gaish (ID:752932)
[20:02:22] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:22] [INFO]   [apifootball] National Bank Egypt vs Petrojet (ID:752933)
[20:02:27] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:29] [WARN] apifootball: 404
[20:02:30] [WARN] apifootball: 404
[20:02:31] [WARN] apifootball: 404
[20:02:33] [INFO] ✓ apifootball.com respondió con 2 partidos
[20:02:33] [INFO] Liga 337: 2 partidos
[20:02:33] [INFO]   [apifootball] Dep. Tachira vs Metropolitanos (ID:762362)
[20:02:38] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:38] [INFO]   [apifootball] Universidad Central vs La Guaira (ID:762363)
[20:02:43] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:44] [INFO] ✓ apifootball.com respondió con 6 partidos
[20:02:44] [INFO] Liga 136: 6 partidos
[20:02:44] [INFO]   [apifootball] Helsingor vs F. Amager (ID:759948)
[20:02:49] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:49] [INFO]   [apifootball] Ishoj vs Brabrand (ID:759949)
[20:02:54] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:54] [INFO]   [apifootball] Skive vs VSK Aarhus (ID:759950)
[20:02:59] [INFO]   ✓ Guardado + H2H + Cuotas
[20:02:59] [INFO]   [apifootball] AB Copenhagen vs Roskilde (ID:759975)
[20:03:04] [INFO]   ✓ Guardado + H2H + Cuotas
[20:03:04] [INFO]   [apifootball] Naestved vs Hellerup (ID:759976)
[20:03:09] [INFO]   ✓ Guardado + H2H + Cuotas
[20:03:09] [INFO]   [apifootball] Thisted FC vs Vendsyssel (ID:759977)
[20:03:14] [INFO]   ✓ Guardado + H2H + Cuotas
[20:03:15] [WARN] apifootball: 404
[20:03:16] [INFO] ✓ 2026-05-13: 19 partidos guardados
[20:03:16] [INFO] === FETCHER FINALIZADO | Guardados: 19 ===
