2026-04-27T14:16:32+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:32+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4614,"mtime":"2026-04-27T08:37:57+02:00","run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":0,"spect":null,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":4275,"mtime":"2026-04-27T08:37:56+02:00","run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:33+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":0,"rb":0,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.924,"duration_milliseconds":924,"important":true,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":80782,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T14:16:34+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.838,"exec_milliseconds":1838,"live_games":1,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":80782,"important":true,"run_id":"20260427_141632_afe1a0e6"}
2026-04-27T15:11:38+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:38+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4614,"mtime":"2026-04-27T08:37:57+02:00","run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":0,"spect":null,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":4275,"mtime":"2026-04-27T08:37:56+02:00","run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":0,"rb":0,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.817,"duration_milliseconds":817,"important":true,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":80269,"run_id":"20260427_151137_c295897f"}
2026-04-27T15:11:39+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.547,"exec_milliseconds":1547,"live_games":1,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":80269,"important":true,"run_id":"20260427_151137_c295897f"}
2026-04-27T22:23:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:07+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T22:15:09+02:00","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15814,"mtime":"2026-04-27T22:15:08+02:00","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.866,"duration_milliseconds":866,"important":true,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.098,"duration_milliseconds":98,"important":true,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130633,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:23:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.859,"exec_milliseconds":1859,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130633,"important":true,"run_id":"20260427_222306_bd2ee44f"}
2026-04-27T22:25:18+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:19+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T22:15:09+02:00","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15814,"mtime":"2026-04-27T22:15:08+02:00","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.958,"duration_milliseconds":958,"important":true,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.115,"duration_milliseconds":115,"important":true,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130633,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:25:20+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.914,"exec_milliseconds":1914,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130633,"important":true,"run_id":"20260427_222518_cfc4f6ea"}
2026-04-27T22:26:20+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:20+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T22:25:35+02:00","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15814,"mtime":"2026-04-27T22:25:34+02:00","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.925,"duration_milliseconds":925,"important":true,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:21+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:22+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:22+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:22+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.117,"duration_milliseconds":117,"important":true,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:22+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130533,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:26:22+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.932,"exec_milliseconds":1932,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130533,"important":true,"run_id":"20260427_222620_265aa6de"}
2026-04-27T22:48:30+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:31+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T22:43:23+02:00","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T22:43:22+02:00","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.863,"duration_milliseconds":863,"important":true,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.093,"duration_milliseconds":93,"important":true,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130598,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:48:32+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.806,"exec_milliseconds":1806,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130598,"important":true,"run_id":"20260427_224830_45b30335"}
2026-04-27T22:51:43+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:43+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T22:50:37+02:00","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T22:50:36+02:00","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004264,"file":"2004264.JSN","error":"empty payload","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:44+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":1.664,"duration_milliseconds":1664,"important":true,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.095,"duration_milliseconds":95,"important":true,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":61139,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T22:51:45+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.528,"exec_milliseconds":2528,"live_games":1,"fallback_games":1,"warnings":1,"errors":0,"json_errors":1,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":61139,"important":true,"run_id":"20260427_225143_b5e318ea"}
2026-04-27T23:17:54+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:54+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:17:54+02:00","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15798,"mtime":"2026-04-27T23:17:53+02:00","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.928,"duration_milliseconds":928,"important":true,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:55+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:56+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:56+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:56+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.116,"duration_milliseconds":116,"important":true,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:56+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130446,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:17:56+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.021,"exec_milliseconds":2021,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130446,"important":true,"run_id":"20260427_231754_c49e15b0"}
2026-04-27T23:23:34+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:35+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:22:05+02:00","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15810,"mtime":"2026-04-27T23:22:05+02:00","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.865,"duration_milliseconds":865,"important":true,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.098,"duration_milliseconds":98,"important":true,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130474,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:23:36+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.793,"exec_milliseconds":1793,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130474,"important":true,"run_id":"20260427_232334_1877c1a1"}
2026-04-27T23:44:52+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:53+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:41:45+02:00","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:41:45+02:00","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.089,"duration_milliseconds":89,"important":true,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:44:54+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.663,"exec_milliseconds":1663,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_234452_e3078c7c"}
2026-04-27T23:46:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:06+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:41:45+02:00","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:41:45+02:00","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.88,"duration_milliseconds":880,"important":true,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.093,"duration_milliseconds":93,"important":true,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.763,"exec_milliseconds":1763,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_234606_fff44398"}
2026-04-27T23:46:50+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:50+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:46:07+02:00","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:46:07+02:00","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.807,"duration_milliseconds":807,"important":true,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.081,"duration_milliseconds":81,"important":true,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:46:51+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.646,"exec_milliseconds":1646,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_234650_b4a32953"}
2026-04-27T23:48:47+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:47+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:47+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:47+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:47:12+02:00","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:47:11+02:00","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.845,"duration_milliseconds":845,"important":true,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:48+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:49+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:49+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:49+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.085,"duration_milliseconds":85,"important":true,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:49+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:49+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.737,"exec_milliseconds":1737,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_234847_c4c797df"}
2026-04-27T23:48:51+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:51+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:47:12+02:00","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:47:11+02:00","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.083,"duration_milliseconds":83,"important":true,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:48:52+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.651,"exec_milliseconds":1651,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_234851_490c4ce5"}
2026-04-27T23:50:07+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:07+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:47:12+02:00","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:47:11+02:00","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.09,"duration_milliseconds":90,"important":true,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:50:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.689,"exec_milliseconds":1689,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_235007_19a04585"}
2026-04-27T23:51:51+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:47:12+02:00","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:47:11+02:00","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:52+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.838,"duration_milliseconds":838,"important":true,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.089,"duration_milliseconds":89,"important":true,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:51:53+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.687,"exec_milliseconds":1687,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_235151_60efe5d5"}
2026-04-27T23:52:47+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Processing live game {"spiel_id":2004264,"team_id":485,"league":"BBL","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] SFTP upload directory reachable {"team_id":485,"spiel_id":2004264,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264_INIT.JSN","size":4267,"mtime":"2026-04-27T23:47:12+02:00","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Init JSON parsed {"spiel_id":2004264,"file":"2004264_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] SFTP file found {"spiel_id":2004264,"file":"2004264.JSN","size":15799,"mtime":"2026-04-27T23:47:11+02:00","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:48+02:00 [INFO] Scout JSON parsed {"spiel_id":2004264,"file":"2004264.JSN","ra":62,"rb":89,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Live row rendered {"spiel_id":2004264,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Live game timing {"spiel_id":2004264,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.084,"duration_milliseconds":84,"important":true,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":130451,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:52:49+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.688,"exec_milliseconds":1688,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":130451,"important":true,"run_id":"20260427_235247_23b01331"}
2026-04-27T23:55:45+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:45+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:45+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:45+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Fallback row rendered {"spiel_id":2004264,"result":"62:89","run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Fallback game timing {"spiel_id":2004264,"duration_seconds":0.627,"duration_milliseconds":627,"important":true,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Fallback row rendered {"spiel_id":2004184,"result":"86:64","run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Fallback game timing {"spiel_id":2004184,"duration_seconds":0.092,"duration_milliseconds":92,"important":true,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":39698,"run_id":"20260427_235545_ea24f5de"}
2026-04-27T23:55:46+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.497,"exec_milliseconds":1497,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":39698,"important":true,"run_id":"20260427_235545_ea24f5de"}
