[07:00:09] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[07:00:09] [INFO] 2 APIs disponibles: apifootball.com → TheSportsDB (Sin key)
[07:00:09] [INFO] Buscando: 2026-05-17
[07:00:10] [WARN] apifootball: 404
[07:00:11] [INFO] ✓ apifootball.com respondió con 6 partidos
[07:00:11] [INFO] Liga 152: 6 partidos
[07:00:13] [INFO] ✓ apifootball.com respondió con 10 partidos
[07:00:13] [INFO] Liga 302: 10 partidos
[07:00:14] [INFO] ✓ apifootball.com respondió con 10 partidos
[07:00:14] [INFO] Liga 207: 10 partidos
[07:00:16] [WARN] apifootball: 404
[07:00:17] [INFO] ✓ apifootball.com respondió con 9 partidos
[07:00:17] [INFO] Liga 168: 9 partidos
[07:00:18] [WARN] apifootball: 404
[07:00:20] [WARN] apifootball: 404
[07:00:21] [WARN] apifootball: 404
[07:00:23] [INFO] ✓ apifootball.com respondió con 4 partidos
[07:00:23] [INFO] Liga 14: 4 partidos
[07:00:24] [WARN] apifootball: 404
[07:00:25] [WARN] apifootball: 404
[07:00:27] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:00:27] [INFO] Liga 333: 3 partidos
[07:00:28] [INFO] ✓ apifootball.com respondió con 12 partidos
[07:00:28] [INFO] Liga 332: 12 partidos
[07:00:30] [INFO] ✓ apifootball.com respondió con 8 partidos
[07:00:30] [INFO] Liga 188: 8 partidos
[07:00:31] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:00:31] [INFO] Liga 140: 2 partidos
[07:00:33] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:00:33] [INFO] Liga 141: 3 partidos
[07:00:34] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:34] [INFO] Liga 142: 1 partidos
[07:00:35] [WARN] apifootball: 404
[07:00:37] [WARN] apifootball: 404
[07:00:38] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:00:38] [INFO] Liga 337: 2 partidos
[07:00:40] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:00:40] [INFO] Liga 136: 2 partidos
[07:00:41] [WARN] apifootball: 404
[07:00:42] [INFO] Sin partidos para 2026-05-17
[07:00:42] [INFO] Buscando: 2026-05-18
[07:00:42] [WARN] apifootball: 404
[07:00:44] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:44] [INFO] Liga 152: 1 partidos
[07:00:45] [WARN] apifootball: 404
[07:00:47] [WARN] apifootball: 404
[07:00:48] [WARN] apifootball: 404
[07:00:49] [WARN] apifootball: 404
[07:00:51] [WARN] apifootball: 404
[07:00:52] [WARN] apifootball: 404
[07:00:53] [WARN] apifootball: 404
[07:00:55] [WARN] apifootball: 404
[07:00:56] [WARN] apifootball: 404
[07:00:58] [WARN] apifootball: 404
[07:00:59] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:00:59] [INFO] Liga 333: 1 partidos
[07:01:00] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:01:00] [INFO] Liga 332: 2 partidos
[07:01:02] [WARN] apifootball: 404
[07:01:03] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:03] [INFO] Liga 140: 1 partidos
[07:01:05] [INFO] ✓ apifootball.com respondió con 4 partidos
[07:01:05] [INFO] Liga 141: 4 partidos
[07:01:06] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:06] [INFO] Liga 142: 1 partidos
[07:01:07] [WARN] apifootball: 404
[07:01:09] [WARN] apifootball: 404
[07:01:10] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:10] [INFO] Liga 337: 1 partidos
[07:01:12] [WARN] apifootball: 404
[07:01:13] [WARN] apifootball: 404
[07:01:14] [INFO] Sin partidos para 2026-05-18
[07:01:14] [INFO] Buscando: 2026-05-19
[07:01:14] [WARN] apifootball: 404
[07:01:16] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:01:16] [INFO] Liga 152: 2 partidos
[07:01:17] [WARN] apifootball: 404
[07:01:19] [WARN] apifootball: 404
[07:01:20] [WARN] apifootball: 404
[07:01:21] [WARN] apifootball: 404
[07:01:23] [WARN] apifootball: 404
[07:01:24] [WARN] apifootball: 404
[07:01:26] [WARN] apifootball: 404
[07:01:27] [WARN] apifootball: 404
[07:01:28] [WARN] apifootball: 404
[07:01:30] [WARN] apifootball: 404
[07:01:31] [WARN] apifootball: 404
[07:01:33] [WARN] apifootball: 404
[07:01:34] [WARN] apifootball: 404
[07:01:35] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:35] [INFO] Liga 140: 1 partidos
[07:01:37] [WARN] apifootball: 404
[07:01:38] [WARN] apifootball: 404
[07:01:39] [WARN] apifootball: 404
[07:01:41] [WARN] apifootball: 404
[07:01:42] [WARN] apifootball: 404
[07:01:44] [WARN] apifootball: 404
[07:01:45] [WARN] apifootball: 404
[07:01:46] [INFO] Sin partidos para 2026-05-19
[07:01:46] [INFO] Buscando: 2026-05-20
[07:01:46] [WARN] apifootball: 404
[07:01:48] [WARN] apifootball: 404
[07:01:49] [WARN] apifootball: 404
[07:01:51] [WARN] apifootball: 404
[07:01:52] [WARN] apifootball: 404
[07:01:53] [WARN] apifootball: 404
[07:01:55] [WARN] apifootball: 404
[07:01:56] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:01:56] [INFO] Liga 4: 1 partidos
[07:01:58] [WARN] apifootball: 404
[07:01:59] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:01:59] [INFO] Liga 14: 2 partidos
[07:02:00] [WARN] apifootball: 404
[07:02:02] [WARN] apifootball: 404
[07:02:03] [WARN] apifootball: 404
[07:02:05] [WARN] apifootball: 404
[07:02:06] [WARN] apifootball: 404
[07:02:07] [WARN] apifootball: 404
[07:02:09] [INFO] ✓ apifootball.com respondió con 3 partidos
[07:02:09] [INFO] Liga 141: 3 partidos
[07:02:10] [WARN] apifootball: 404
[07:02:11] [WARN] apifootball: 404
[07:02:13] [WARN] apifootball: 404
[07:02:14] [WARN] apifootball: 404
[07:02:16] [WARN] apifootball: 404
[07:02:17] [WARN] apifootball: 404
[07:02:18] [INFO] Sin partidos para 2026-05-20
[07:02:18] [INFO] Buscando: 2026-05-21
[07:02:18] [WARN] apifootball: 404
[07:02:20] [WARN] apifootball: 404
[07:02:21] [WARN] apifootball: 404
[07:02:23] [WARN] apifootball: 404
[07:02:24] [WARN] apifootball: 404
[07:02:25] [WARN] apifootball: 404
[07:02:27] [WARN] apifootball: 404
[07:02:28] [WARN] apifootball: 404
[07:02:30] [WARN] apifootball: 404
[07:02:31] [WARN] apifootball: 404
[07:02:32] [WARN] apifootball: 404
[07:02:34] [WARN] apifootball: 404
[07:02:35] [WARN] apifootball: 404
[07:02:36] [WARN] apifootball: 404
[07:02:38] [WARN] apifootball: 404
[07:02:39] [WARN] apifootball: 404
[07:02:41] [WARN] apifootball: 404
[07:02:42] [WARN] apifootball: 404
[07:02:43] [WARN] apifootball: 404
[07:02:45] [WARN] apifootball: 404
[07:02:46] [WARN] apifootball: 404
[07:02:48] [WARN] apifootball: 404
[07:02:49] [WARN] apifootball: 404
[07:02:50] [INFO] Sin partidos para 2026-05-21
[07:02:50] [INFO] Buscando: 2026-05-22
[07:02:50] [WARN] apifootball: 404
[07:02:52] [WARN] apifootball: 404
[07:02:53] [WARN] apifootball: 404
[07:02:55] [WARN] apifootball: 404
[07:02:56] [WARN] apifootball: 404
[07:02:57] [WARN] apifootball: 404
[07:02:59] [WARN] apifootball: 404
[07:03:00] [WARN] apifootball: 404
[07:03:02] [WARN] apifootball: 404
[07:03:03] [INFO] ✓ apifootball.com respondió con 1 partidos
[07:03:03] [INFO] Liga 14: 1 partidos
[07:03:03] [INFO]   [apifootball] Pitea W vs Djurgarden W (ID:717239)
[07:03:08] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:09] [WARN] apifootball: 404
[07:03:11] [WARN] apifootball: 404
[07:03:12] [WARN] apifootball: 404
[07:03:13] [WARN] apifootball: 404
[07:03:15] [WARN] apifootball: 404
[07:03:16] [WARN] apifootball: 404
[07:03:18] [INFO] ✓ apifootball.com respondió con 7 partidos
[07:03:18] [INFO] Liga 141: 7 partidos
[07:03:18] [INFO]   [apifootball] El Gouna vs El Gaish (ID:752941)
[07:03:23] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:23] [INFO]   [apifootball] Modern Sport vs Ghazl El Mahallah (ID:752942)
[07:03:28] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:28] [INFO]   [apifootball] Pharco vs National Bank Egypt (ID:752943)
[07:03:32] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:32] [INFO]   [apifootball] Al Ittihad vs El Ismaily (ID:752944)
[07:03:37] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:37] [INFO]   [apifootball] Haras El Hodood vs Petrojet (ID:752945)
[07:03:42] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:42] [INFO]   [apifootball] Wadi Degla vs ZED (ID:752946)
[07:03:47] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:47] [INFO]   [apifootball] Kahrabaa Ismailia vs Arab Contractors (ID:752947)
[07:03:52] [INFO]   ✓ Guardado + H2H + Cuotas
[07:03:53] [WARN] apifootball: 404
[07:03:55] [WARN] apifootball: 404
[07:03:56] [WARN] apifootball: 404
[07:03:58] [WARN] apifootball: 404
[07:03:59] [INFO] ✓ apifootball.com respondió con 2 partidos
[07:03:59] [INFO] Liga 136: 2 partidos
[07:03:59] [INFO]   [apifootball] Brabrand vs Skive (ID:759954)
[07:04:04] [INFO]   ✓ Guardado + H2H + Cuotas
[07:04:04] [INFO]   [apifootball] AB Copenhagen vs Hellerup (ID:759981)
[07:04:09] [INFO]   ✓ Guardado + H2H + Cuotas
[07:04:10] [WARN] apifootball: 404
[07:04:11] [INFO] ✓ 2026-05-22: 10 partidos guardados
[07:04:11] [INFO] === FETCHER FINALIZADO | Guardados: 10 ===
[13:08:10] [INFO] Login exitoso: admin
[13:48:34] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[13:48:34] [INFO] 2 APIs disponibles: apifootball.com → TheSportsDB (Sin key)
[13:48:34] [INFO] Buscando: 2026-05-17
[13:48:34] [WARN] apifootball: 404
[13:48:35] [INFO] ✓ apifootball.com respondió con 6 partidos
[13:48:35] [INFO] Liga 152: 6 partidos
[13:48:35] [INFO]   [apifootball] Leeds vs Brighton (ID:619826)
[13:48:40] [INFO]   ✓ Guardado + H2H + Cuotas
[13:48:40] [INFO]   [apifootball] Manchester Utd vs Nottingham (ID:619827)
[13:48:45] [INFO]   ✓ Guardado + H2H + Cuotas
[13:48:45] [INFO]   [apifootball] Wolves vs Fulham (ID:619831)
[13:48:50] [INFO]   ✓ Guardado + H2H + Cuotas
[13:48:50] [INFO]   [apifootball] Newcastle vs West Ham (ID:619832)
[13:48:55] [INFO]   ✓ Guardado + H2H + Cuotas
[13:48:55] [INFO]   [apifootball] Brentford vs Crystal Palace (ID:619834)
[13:49:00] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:00] [INFO]   [apifootball] Everton vs Sunderland (ID:619835)
[13:49:05] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:06] [INFO] ✓ apifootball.com respondió con 10 partidos
[13:49:06] [INFO] Liga 302: 10 partidos
[13:49:06] [INFO]   [apifootball] Elche vs Getafe (ID:610978)
[13:49:11] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:11] [INFO]   [apifootball] Levante vs Mallorca (ID:610979)
[13:49:16] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:16] [INFO]   [apifootball] Osasuna vs Espanyol (ID:610980)
[13:49:21] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:21] [INFO]   [apifootball] Barcelona vs Betis (ID:610981)
[13:49:26] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:26] [INFO]   [apifootball] Sevilla vs Real Madrid (ID:610982)
[13:49:31] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:31] [INFO]   [apifootball] Real Sociedad vs Valencia (ID:610983)
[13:49:36] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:36] [INFO]   [apifootball] Rayo Vallecano vs Villarreal (ID:610984)
[13:49:41] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:41] [INFO]   [apifootball] Atl. Madrid vs Girona (ID:610985)
[13:49:46] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:46] [INFO]   [apifootball] Oviedo vs Alaves (ID:610986)
[13:49:51] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:51] [INFO]   [apifootball] Ath Bilbao vs Celta Vigo (ID:610987)
[13:49:55] [INFO]   ✓ Guardado + H2H + Cuotas
[13:49:57] [INFO] ✓ apifootball.com respondió con 10 partidos
[13:49:57] [INFO] Liga 207: 10 partidos
[13:49:57] [INFO]   [apifootball] Sassuolo vs Lecce (ID:615692)
[13:50:02] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:02] [INFO]   [apifootball] Juventus vs Fiorentina (ID:615693)
[13:50:07] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:07] [INFO]   [apifootball] Pisa vs Napoli (ID:615694)
[13:50:12] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:12] [INFO]   [apifootball] Atalanta vs Bologna (ID:615695)
[13:50:17] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:17] [INFO]   [apifootball] Udinese vs Cremonese (ID:615696)
[13:50:22] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:22] [INFO]   [apifootball] AS Roma vs Lazio (ID:615697)
[13:50:26] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:26] [INFO]   [apifootball] Inter vs Verona (ID:615698)
[13:50:31] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:31] [INFO]   [apifootball] Como vs Parma (ID:615699)
[13:50:36] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:36] [INFO]   [apifootball] Cagliari vs Torino (ID:615700)
[13:50:41] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:41] [INFO]   [apifootball] Genoa vs AC Milan (ID:615701)
[13:50:46] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:47] [WARN] apifootball: 404
[13:50:49] [INFO] ✓ apifootball.com respondió con 9 partidos
[13:50:49] [INFO] Liga 168: 9 partidos
[13:50:49] [INFO]   [apifootball] Brest vs Angers (ID:603546)
[13:50:54] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:54] [INFO]   [apifootball] Lyon vs Lens (ID:603547)
[13:50:59] [INFO]   ✓ Guardado + H2H + Cuotas
[13:50:59] [INFO]   [apifootball] Nice vs Metz (ID:603548)
[13:51:04] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:04] [INFO]   [apifootball] Lorient vs Le Havre (ID:603549)
[13:51:09] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:09] [INFO]   [apifootball] Lille vs Auxerre (ID:603550)
[13:51:13] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:13] [INFO]   [apifootball] Strasbourg vs Monaco (ID:603551)
[13:51:18] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:18] [INFO]   [apifootball] Nantes vs Toulouse (ID:603552)
[13:51:23] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:23] [INFO]   [apifootball] Paris FC vs PSG (ID:603553)
[13:51:28] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:28] [INFO]   [apifootball] Marseille vs Rennes (ID:603554)
[13:51:33] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:34] [WARN] apifootball: 404
[13:51:36] [WARN] apifootball: 404
[13:51:37] [WARN] apifootball: 404
[13:51:39] [INFO] ✓ apifootball.com respondió con 4 partidos
[13:51:39] [INFO] Liga 14: 4 partidos
[13:51:39] [INFO]   [apifootball] AIK W vs Pitea W (ID:717227)
[13:51:44] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:44] [INFO]   [apifootball] Eskilstuna Utd W vs Uppsala W (ID:717228)
[13:51:48] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:48] [INFO]   [apifootball] Norrkoping W vs IF Brommapojkarna W (ID:717231)
[13:51:53] [INFO]   ✓ Guardado + H2H + Cuotas
[13:51:53] [INFO]   [apifootball] Vittsjo W vs Djurgarden W (ID:717233)
[13:51:58] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:00] [WARN] apifootball: 404
[13:52:01] [WARN] apifootball: 404
[13:52:02] [INFO] ✓ apifootball.com respondió con 3 partidos
[13:52:02] [INFO] Liga 333: 3 partidos
[13:52:02] [INFO]   [apifootball] Central Esp. vs Defensor Sp. (ID:764059)
[13:52:07] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:07] [INFO]   [apifootball] Racing Montevideo vs Cerro Largo (ID:764060)
[13:52:12] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:12] [INFO]   [apifootball] Albion vs Wanderers (ID:764061)
[13:52:17] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:19] [INFO] ✓ apifootball.com respondió con 12 partidos
[13:52:19] [INFO] Liga 332: 12 partidos
[13:52:19] [INFO]   [apifootball] Charlotte vs Toronto FC (ID:711477)
[13:52:24] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:24] [INFO]   [apifootball] DC United vs St. Louis City (ID:711478)
[13:52:29] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:29] [INFO]   [apifootball] New England Revolution vs Minnesota United (ID:711479)
[13:52:33] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:33] [INFO]   [apifootball] New York Red Bulls vs New York City (ID:711480)
[13:52:38] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:38] [INFO]   [apifootball] Orlando City vs Atlanta Utd (ID:711481)
[13:52:43] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:43] [INFO]   [apifootball] Philadelphia Union vs Columbus Crew (ID:711482)
[13:52:48] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:48] [INFO]   [apifootball] Austin FC vs Sporting Kansas City (ID:711483)
[13:52:53] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:53] [INFO]   [apifootball] Houston Dynamo vs Vancouver Whitecaps (ID:711484)
[13:52:58] [INFO]   ✓ Guardado + H2H + Cuotas
[13:52:58] [INFO]   [apifootball] Seattle Sounders vs Los Angeles Galaxy (ID:711485)
[13:53:03] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:03] [INFO]   [apifootball] Real Salt Lake vs Colorado Rapids (ID:711486)
[13:53:08] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:08] [INFO]   [apifootball] San Diego FC vs FC Cincinnati (ID:711487)
[13:53:13] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:13] [INFO]   [apifootball] San Jose Earthquakes vs FC Dallas (ID:711488)
[13:53:18] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:19] [INFO] ✓ apifootball.com respondió con 8 partidos
[13:53:19] [INFO] Liga 188: 8 partidos
[13:53:19] [INFO]   [apifootball] Videoton vs Budafoki (ID:616576)
[13:53:24] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:24] [INFO]   [apifootball] Vasas vs Ajka (ID:616577)
[13:53:29] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:29] [INFO]   [apifootball] Szeged vs Csakvari (ID:616578)
[13:53:34] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:34] [INFO]   [apifootball] Soroksar vs Kecskemeti TE (ID:616579)
[13:53:39] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:39] [INFO]   [apifootball] BVSC-Zuglo vs Honved (ID:616580)
[13:53:44] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:44] [INFO]   [apifootball] Mezokovesd-Zsory vs Bekescsaba 1912 (ID:616581)
[13:53:49] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:49] [INFO]   [apifootball] Tiszakecske vs Szentlorinc (ID:616582)
[13:53:53] [INFO]   ✓ Guardado + H2H + Cuotas
[13:53:53] [INFO]   [apifootball] Kozarmisleny SE vs Karcagi (ID:616583)
[13:53:58] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:00] [INFO] ✓ apifootball.com respondió con 2 partidos
[13:54:00] [INFO] Liga 140: 2 partidos
[13:54:00] [INFO]   [apifootball] Barcelona SC vs Aucas (ID:738915)
[13:54:05] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:05] [INFO]   [apifootball] Leones del Norte vs Mushuc Runa (ID:738918)
[13:54:10] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:11] [INFO] ✓ apifootball.com respondió con 3 partidos
[13:54:11] [INFO] Liga 141: 3 partidos
[13:54:11] [INFO]   [apifootball] National Bank Egypt vs El Gouna (ID:752934)
[13:54:16] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:16] [INFO]   [apifootball] El Ismaily vs ZED (ID:752935)
[13:54:21] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:21] [INFO]   [apifootball] Petrojet vs Modern Sport (ID:752936)
[13:54:26] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:27] [INFO] ✓ apifootball.com respondió con 1 partidos
[13:54:27] [INFO] Liga 142: 1 partidos
[13:54:27] [INFO]   [apifootball] Luis Angel Firpo vs Aguila (ID:764086)
[13:54:32] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:34] [WARN] apifootball: 404
[13:54:35] [WARN] apifootball: 404
[13:54:36] [INFO] ✓ apifootball.com respondió con 2 partidos
[13:54:36] [INFO] Liga 337: 2 partidos
[13:54:36] [INFO]   [apifootball] Estudiantes Merida vs Carabobo (ID:762367)
[13:54:41] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:41] [INFO]   [apifootball] Portuguesa vs Puerto Cabello (ID:762368)
[13:54:46] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:48] [INFO] ✓ apifootball.com respondió con 2 partidos
[13:54:48] [INFO] Liga 136: 2 partidos
[13:54:48] [INFO]   [apifootball] Helsingor vs Skive (ID:759953)
[13:54:53] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:53] [INFO]   [apifootball] Vendsyssel vs AB Copenhagen (ID:759980)
[13:54:58] [INFO]   ✓ Guardado + H2H + Cuotas
[13:54:59] [WARN] apifootball: 404
[13:55:00] [INFO] ✓ 2026-05-17: 72 partidos guardados
[13:55:00] [INFO] === FETCHER FINALIZADO | Guardados: 72 ===
[13:55:00] [INFO] Cron manual: fetch por admin
[13:55:00] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[13:55:00] [INFO] 1 APIs disponibles: TheSportsDB (Sin key)
[13:55:00] [INFO] Buscando: 2026-05-17
[13:55:04] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:04] [INFO] Liga 207: 3 partidos
[13:55:04] [INFO]   [thesportsdb] Atalanta vs Bologna (ID:2265396)
[13:55:04] [INFO]   ✓ Guardado
[13:55:04] [INFO]   [thesportsdb] Cagliari vs Torino (ID:2265397)
[13:55:04] [INFO]   ✓ Guardado
[13:55:04] [INFO]   [thesportsdb] Como vs Parma (ID:2265398)
[13:55:04] [INFO]   ✓ Guardado
[13:55:09] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:09] [INFO] Liga 4: 3 partidos
[13:55:11] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:11] [INFO] Liga 14: 3 partidos
[13:55:13] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:13] [INFO] Liga 12: 3 partidos
[13:55:16] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:16] [INFO] Liga 332: 3 partidos
[13:55:18] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:18] [INFO] Liga 140: 3 partidos
[13:55:19] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:19] [INFO] Liga 141: 3 partidos
[13:55:20] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:20] [INFO] Liga 142: 3 partidos
[13:55:21] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:21] [INFO] Liga 143: 3 partidos
[13:55:25] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:25] [INFO] Liga 136: 3 partidos
[13:55:26] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[13:55:26] [INFO] Liga 137: 3 partidos
[13:55:27] [INFO] ✓ 2026-05-17: 3 partidos guardados
[13:55:27] [INFO] === FETCHER FINALIZADO | Guardados: 3 ===
[13:55:27] [INFO] Cron manual: fetch por admin
[14:03:58] [INFO] Cron manual: analyze por admin
[20:00:05] [INFO] === FETCHER v2.0 (Multi-API Fallback) INICIADO ===
[20:00:05] [INFO] 1 APIs disponibles: TheSportsDB (Sin key)
[20:00:05] [INFO] Buscando: 2026-05-17
[20:00:09] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:09] [INFO] Liga 207: 3 partidos
[20:00:14] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:14] [INFO] Liga 4: 3 partidos
[20:00:17] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:17] [INFO] Liga 14: 3 partidos
[20:00:21] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:21] [INFO] Liga 12: 3 partidos
[20:00:24] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:24] [INFO] Liga 332: 3 partidos
[20:00:26] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:26] [INFO] Liga 140: 3 partidos
[20:00:27] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:27] [INFO] Liga 141: 3 partidos
[20:00:29] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:29] [INFO] Liga 142: 3 partidos
[20:00:30] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:30] [INFO] Liga 143: 3 partidos
[20:00:33] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:33] [INFO] Liga 136: 3 partidos
[20:00:34] [INFO] ✓ TheSportsDB (Sin key) respondió con 3 partidos
[20:00:34] [INFO] Liga 137: 3 partidos
[20:00:35] [INFO] Sin partidos para 2026-05-17
[20:00:35] [INFO] Buscando: 2026-05-18
[20:00:37] [INFO] ✓ TheSportsDB (Sin key) respondió con 1 partidos
[20:00:37] [INFO] Liga 152: 1 partidos
[20:00:37] [INFO]   [thesportsdb] Arsenal vs Burnley (ID:2267433)
[20:00:37] [INFO]   ✓ Guardado
[20:00:44] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:00:46] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:00:46] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:00:47] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:00:49] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:00:49] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:00:50] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:00:52] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:00:52] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:00:53] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:00:55] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:00:55] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:00:56] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:00:58] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:00:58] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:00:59] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:01] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:01] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:02] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:04] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:04] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:05] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:07] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:07] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:08] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:10] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:10] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:11] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:13] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:13] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:14] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:16] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:16] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:17] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:19] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:19] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:20] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:22] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:22] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:23] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:25] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:25] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:26] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:28] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:28] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:29] [WARN] cURL 1/2: HTTP 429 | {"error":""}
[20:01:31] [WARN] cURL 2/2: HTTP 429 | {"error":""}
[20:01:31] [WARN] TheSportsDB (Sin key): falló → probando siguiente API...
[20:01:32] [INFO] ✓ 2026-05-18: 1 partidos guardados
[20:01:32] [INFO] === FETCHER FINALIZADO | Guardados: 1 ===
