Recent Logs (/app/logs/kayo_server.log)
2026-03-07 00:18:12,097 [INFO] __main__ - Using DB: /app/data/kayo_events.db
2026-03-07 00:18:12,129 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 0)
2026-03-07 00:18:12,129 [INFO] __main__ - Step 1/3: Refresh fixtures from Kayo
2026-03-07 00:18:12,129 [INFO] __main__ - Fetching fixtures for 2026-03-07 (with_live=True, sport=None)
2026-03-07 00:18:12,944 [INFO] __main__ - -> Parsed 53 events
2026-03-07 00:18:12,959 [INFO] __main__ - -> Upserted 53 rows into /app/data/kayo_events.db
2026-03-07 00:18:12,959 [INFO] __main__ - Fetching fixtures for 2026-03-08 (with_live=True, sport=None)
2026-03-07 00:18:13,649 [INFO] __main__ - -> Parsed 30 events
2026-03-07 00:18:13,665 [INFO] __main__ - -> Upserted 30 rows into /app/data/kayo_events.db
2026-03-07 00:18:13,665 [INFO] __main__ - Total upsert attempts: 83
2026-03-07 00:18:13,666 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 71)
2026-03-07 00:18:13,666 [INFO] __main__ - Step 2/3: Export live-window XMLTV + M3U
2026-03-07 00:18:13,667 [INFO] __main__ - Live-window: 17 qualifying events found
2026-03-07 00:18:13,696 [INFO] __main__ - Daily refresh complete
2026-03-07 00:18:13,717 [INFO] kayo_server - === Refresh (admin) completed with status: ok ===
2026-03-07 00:43:24,018 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:24,020 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:24,496 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:24,497 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:25,051 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:25,052 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:25,812 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:25,813 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:26,974 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:26,975 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:28,932 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:28,933 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:32,485 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:32,486 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:39,251 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:39,252 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:43:52,415 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:43:52,417 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:44:18,452 [INFO] kayo_server - Starting Kayo server on 192.168.50.142:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:44:18,453 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:45:47,410 [INFO] kayo_server - Starting Kayo server on 0.0.0.0:8469 (XML=/app/out/kayo_events_live_window.xml, M3U=/app/out/kayo_events_live_window.m3u, log=/app/logs/kayo_server.log)
2026-03-07 00:45:47,412 [INFO] kayo_server - APScheduler started with daily job at 03:30 (local time).
2026-03-07 00:45:55,549 [INFO] kayo_server - === Refresh requested (admin) ===
2026-03-07 00:45:55,550 [INFO] kayo_server - Starting daily_refresh subprocess: /usr/local/bin/python /app/bin/daily_refresh.py
2026-03-07 00:45:57,582 [INFO] kayo_server - daily_refresh.py completed successfully.
2026-03-07 00:45:57,583 [WARNING] kayo_server - daily_refresh stderr:
2026-03-07 00:45:55,749 [INFO] __main__ - Starting Kayo daily refresh
2026-03-07 00:45:55,749 [INFO] __main__ - Using DB: /app/data/kayo_events.db
2026-03-07 00:45:55,750 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 71)
2026-03-07 00:45:55,750 [INFO] __main__ - Step 1/3: Refresh fixtures from Kayo
2026-03-07 00:45:55,751 [INFO] __main__ - Fetching fixtures for 2026-03-07 (with_live=True, sport=None)
2026-03-07 00:45:56,763 [INFO] __main__ - -> Parsed 55 events
2026-03-07 00:45:56,770 [INFO] __main__ - -> Upserted 55 rows into /app/data/kayo_events.db
2026-03-07 00:45:56,770 [INFO] __main__ - Fetching fixtures for 2026-03-08 (with_live=True, sport=None)
2026-03-07 00:45:57,513 [INFO] __main__ - -> Parsed 32 events
2026-03-07 00:45:57,526 [INFO] __main__ - -> Upserted 32 rows into /app/data/kayo_events.db
2026-03-07 00:45:57,527 [INFO] __main__ - Total upsert attempts: 87
2026-03-07 00:45:57,528 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 72)
2026-03-07 00:45:57,528 [INFO] __main__ - Step 2/3: Export live-window XMLTV + M3U
2026-03-07 00:45:57,528 [INFO] __main__ - Live-window: 18 qualifying events found
2026-03-07 00:45:57,560 [INFO] __main__ - Daily refresh complete
2026-03-07 00:45:57,583 [INFO] kayo_server - === Refresh (admin) completed with status: ok ===
2026-03-07 03:30:00,000 [INFO] kayo_server - === Refresh requested (scheduler) ===
2026-03-07 03:30:00,008 [INFO] kayo_server - Starting daily_refresh subprocess: /usr/local/bin/python /app/bin/daily_refresh.py
2026-03-07 03:30:02,359 [INFO] kayo_server - daily_refresh.py completed successfully.
2026-03-07 03:30:02,359 [WARNING] kayo_server - daily_refresh stderr:
2026-03-07 03:30:00,153 [INFO] __main__ - Starting Kayo daily refresh
2026-03-07 03:30:00,153 [INFO] __main__ - Using DB: /app/data/kayo_events.db
2026-03-07 03:30:00,154 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 72)
2026-03-07 03:30:00,154 [INFO] __main__ - Step 1/3: Refresh fixtures from Kayo
2026-03-07 03:30:00,155 [INFO] __main__ - Fetching fixtures for 2026-03-07 (with_live=True, sport=None)
2026-03-07 03:30:01,626 [INFO] __main__ - -> Parsed 57 events
2026-03-07 03:30:01,633 [INFO] __main__ - -> Upserted 57 rows into /app/data/kayo_events.db
2026-03-07 03:30:01,633 [INFO] __main__ - Fetching fixtures for 2026-03-08 (with_live=True, sport=None)
2026-03-07 03:30:02,287 [INFO] __main__ - -> Parsed 34 events
2026-03-07 03:30:02,300 [INFO] __main__ - -> Upserted 34 rows into /app/data/kayo_events.db
2026-03-07 03:30:02,301 [INFO] __main__ - Total upsert attempts: 91
2026-03-07 03:30:02,301 [INFO] __main__ - DB ready at /app/data/kayo_events.db (fixtures rows: 74)
2026-03-07 03:30:02,301 [INFO] __main__ - Step 2/3: Export live-window XMLTV + M3U
2026-03-07 03:30:02,302 [INFO] __main__ - Live-window: 21 qualifying events found
2026-03-07 03:30:02,338 [INFO] __main__ - Daily refresh complete
2026-03-07 03:30:02,359 [INFO] kayo_server - === Refresh (scheduler) completed with status: ok ===