2026-11-09T13:00:35+01: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":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:00:12+01:00","run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:00:11+01:00","run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":91677,"important":true,"run_id":"20261109_130035_26f3d780"}
2026-11-09T13:01:02+01: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":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:00:12+01:00","run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:00:11+01:00","run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:01:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.306,"exec_milliseconds":1306,"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":91677,"important":true,"run_id":"20261109_130102_f22bc9b6"}
2026-11-09T13:02:04+01: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":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:01:12+01:00","run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:01:11+01:00","run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.314,"exec_milliseconds":1314,"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":91677,"important":true,"run_id":"20261109_130203_ab63514c"}
2026-11-09T13:03:02+01: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":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:02:14+01:00","run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:02:12+01:00","run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91677,"important":true,"run_id":"20261109_130302_f3e76e11"}
2026-11-09T13:04:03+01: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":"20261109_130403_56154fc4"}
2026-11-09T13:04:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:03:14+01:00","run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:03:12+01:00","run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:04:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"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":91677,"important":true,"run_id":"20261109_130403_56154fc4"}
2026-11-09T13:05:07+01: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":"20261109_130507_e0ea877d"}
2026-11-09T13:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:04:16+01:00","run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:04:14+01:00","run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.377,"exec_milliseconds":1377,"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":91677,"important":true,"run_id":"20261109_130507_e0ea877d"}
2026-11-09T13:06:03+01: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":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:05:17+01:00","run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:05:16+01:00","run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.558,"exec_milliseconds":1558,"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":91677,"important":true,"run_id":"20261109_130603_c45c6638"}
2026-11-09T13:07:02+01: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":"20261109_130702_f810a9b1"}
2026-11-09T13:07:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:06:17+01:00","run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:06:16+01:00","run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.423,"exec_milliseconds":1423,"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":91677,"important":true,"run_id":"20261109_130702_f810a9b1"}
2026-11-09T13:08:04+01: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":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:07:19+01:00","run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:07:18+01:00","run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.407,"exec_milliseconds":1407,"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":91677,"important":true,"run_id":"20261109_130803_53f7d7d2"}
2026-11-09T13:09:02+01: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":"20261109_130902_e346d7cd"}
2026-11-09T13:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:08:19+01:00","run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:08:18+01:00","run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:09:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.35,"exec_milliseconds":1350,"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":91677,"important":true,"run_id":"20261109_130902_e346d7cd"}
2026-11-09T13:10:12+01: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":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:09:21+01:00","run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:09:19+01:00","run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"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":91677,"important":true,"run_id":"20261109_131012_c7dcff17"}
2026-11-09T13:11:02+01: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":"20261109_131102_7bb56e62"}
2026-11-09T13:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:10:21+01:00","run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:10:19+01:00","run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:11:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.363,"exec_milliseconds":1363,"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":91677,"important":true,"run_id":"20261109_131102_7bb56e62"}
2026-11-09T13:12:04+01: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":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:11:22+01:00","run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:11:21+01:00","run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131204_47017651"}
2026-11-09T13:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.3,"exec_milliseconds":1300,"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":91677,"important":true,"run_id":"20261109_131204_47017651"}
2026-11-09T13:13:02+01: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":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:12:24+01:00","run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:12:23+01:00","run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.295,"exec_milliseconds":1295,"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":91677,"important":true,"run_id":"20261109_131302_bb3063cd"}
2026-11-09T13:14:03+01: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":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:13:24+01:00","run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:13:23+01:00","run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.386,"exec_milliseconds":1386,"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":91677,"important":true,"run_id":"20261109_131403_9e2ed226"}
2026-11-09T13:15:15+01: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":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:14:26+01:00","run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:14:24+01:00","run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.353,"exec_milliseconds":1353,"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":91677,"important":true,"run_id":"20261109_131515_8f350c75"}
2026-11-09T13:16:03+01: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":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:15:28+01:00","run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:15:24+01:00","run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.38,"exec_milliseconds":1380,"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":91677,"important":true,"run_id":"20261109_131603_f1835466"}
2026-11-09T13:17:02+01: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":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:16:28+01:00","run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:16:27+01:00","run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"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":91677,"important":true,"run_id":"20261109_131702_00b23bd8"}
2026-11-09T13:18:05+01: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":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:17:28+01:00","run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:17:27+01:00","run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:06+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:07+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:07+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:18:07+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":3.182,"exec_milliseconds":3182,"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":91677,"important":true,"run_id":"20261109_131803_9c41ceaa"}
2026-11-09T13:19:02+01: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":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:18:30+01:00","run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:18:29+01:00","run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"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":91677,"important":true,"run_id":"20261109_131902_083d7da2"}
2026-11-09T13:20:11+01: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":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:19:30+01:00","run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:19:28+01:00","run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":91677,"important":true,"run_id":"20261109_132011_3d1f05c8"}
2026-11-09T13:21:03+01: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":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:20:31+01:00","run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:20:30+01:00","run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"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":91677,"important":true,"run_id":"20261109_132103_a207ffcd"}
2026-11-09T13:22:03+01: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":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:21:33+01:00","run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:21:32+01:00","run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.338,"exec_milliseconds":1338,"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":91677,"important":true,"run_id":"20261109_132203_2f313c90"}
2026-11-09T13:23:02+01: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":"20261109_132302_7263aaa0"}
2026-11-09T13:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:22:33+01:00","run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:22:32+01:00","run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:23:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.294,"exec_milliseconds":1294,"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":91677,"important":true,"run_id":"20261109_132302_7263aaa0"}
2026-11-09T13:24:04+01: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":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:23:35+01:00","run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:23:34+01:00","run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.298,"exec_milliseconds":1298,"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":91677,"important":true,"run_id":"20261109_132403_379a1a05"}
2026-11-09T13:25:07+01: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":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:24:35+01:00","run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:24:33+01:00","run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91677,"important":true,"run_id":"20261109_132507_48f3b9b6"}
2026-11-09T13:26:03+01: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":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:25:37+01:00","run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:25:35+01:00","run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":91677,"important":true,"run_id":"20261109_132603_56172fc4"}
2026-11-09T13:27:03+01: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":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:26:38+01:00","run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:26:37+01:00","run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"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":91677,"important":true,"run_id":"20261109_132703_ffcd1c1e"}
2026-11-09T13:28:03+01: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":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:27:38+01:00","run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:27:37+01:00","run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"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":91677,"important":true,"run_id":"20261109_132803_f3d7b5f9"}
2026-11-09T13:29:02+01: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":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:28:40+01:00","run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:28:39+01:00","run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91677,"important":true,"run_id":"20261109_132902_29b5fc6c"}
2026-11-09T13:30:25+01: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":"20261109_133025_ee331656"}
2026-11-09T13:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:29:40+01:00","run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:29:39+01:00","run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":91677,"important":true,"run_id":"20261109_133025_ee331656"}
2026-11-09T13:31:02+01: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":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:30:42+01:00","run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:30:40+01:00","run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":91677,"important":true,"run_id":"20261109_133102_a3760216"}
2026-11-09T13:32:03+01: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":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:31:42+01:00","run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:31:40+01:00","run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"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":91677,"important":true,"run_id":"20261109_133203_33a47f60"}
2026-11-09T13:33:02+01: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":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:32:44+01:00","run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:32:42+01:00","run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"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":91677,"important":true,"run_id":"20261109_133302_ab02d1c7"}
2026-11-09T13:34:03+01: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":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:33:45+01:00","run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:33:44+01:00","run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"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":91677,"important":true,"run_id":"20261109_133403_7e396655"}
2026-11-09T13:35:07+01: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":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:07+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:34:46+01:00","run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:34:44+01:00","run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.502,"exec_milliseconds":1502,"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":91677,"important":true,"run_id":"20261109_133506_7e2a086b"}
2026-11-09T13:36:03+01: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":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:35:48+01:00","run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:35:46+01:00","run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.298,"exec_milliseconds":1298,"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":91677,"important":true,"run_id":"20261109_133603_51853ac3"}
2026-11-09T13:37:02+01: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":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:36:47+01:00","run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:36:46+01:00","run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":91677,"important":true,"run_id":"20261109_133702_65ceff18"}
2026-11-09T13:38:03+01: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":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:37:49+01:00","run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:37:48+01:00","run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91677,"important":true,"run_id":"20261109_133803_2d345405"}
2026-11-09T13:39:02+01: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":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:38:49+01:00","run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:38:48+01:00","run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91677,"important":true,"run_id":"20261109_133902_742e8be4"}
2026-11-09T13:40:12+01: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":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:39:51+01:00","run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:39:50+01:00","run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134012_97471278"}
2026-11-09T13:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.364,"exec_milliseconds":1364,"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":91677,"important":true,"run_id":"20261109_134012_97471278"}
2026-11-09T13:41:02+01: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":"20261109_134102_3808ef66"}
2026-11-09T13:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:40:51+01:00","run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:40:49+01:00","run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.369,"exec_milliseconds":1369,"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":91677,"important":true,"run_id":"20261109_134102_3808ef66"}
2026-11-09T13:42:04+01: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":"20261109_134204_7670aa66"}
2026-11-09T13:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:41:53+01:00","run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:41:51+01:00","run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91677,"important":true,"run_id":"20261109_134204_7670aa66"}
2026-11-09T13:43:02+01: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":"20261109_134302_c7d60a97"}
2026-11-09T13:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:42:55+01:00","run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:42:53+01:00","run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:43:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":91677,"important":true,"run_id":"20261109_134302_c7d60a97"}
2026-11-09T13:44:03+01: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":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:43:56+01:00","run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:43:53+01:00","run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.312,"exec_milliseconds":1312,"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":91677,"important":true,"run_id":"20261109_134403_36d459ed"}
2026-11-09T13:45:14+01: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":"20261109_134514_238a7581"}
2026-11-09T13:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:44:56+01:00","run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:44:54+01:00","run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.388,"exec_milliseconds":1388,"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":91677,"important":true,"run_id":"20261109_134514_238a7581"}
2026-11-09T13:46:03+01: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":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:45:57+01:00","run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:45:56+01:00","run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91677,"important":true,"run_id":"20261109_134603_15debc0f"}
2026-11-09T13:47:02+01: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":"20261109_134702_d5abd759"}
2026-11-09T13:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:46:57+01:00","run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:46:56+01:00","run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"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":91677,"important":true,"run_id":"20261109_134702_d5abd759"}
2026-11-09T13:48:04+01: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":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:47:59+01:00","run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:47:58+01:00","run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.299,"exec_milliseconds":1299,"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":91677,"important":true,"run_id":"20261109_134804_a500fc92"}
2026-11-09T13:49:02+01: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":"20261109_134902_7bae40bc"}
2026-11-09T13:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:48:59+01:00","run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:48:58+01:00","run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":91677,"important":true,"run_id":"20261109_134902_7bae40bc"}
2026-11-09T13:50:12+01: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":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:50:01+01:00","run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:49:59+01:00","run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.409,"exec_milliseconds":1409,"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":91677,"important":true,"run_id":"20261109_135012_a3a7bd34"}
2026-11-09T13:51:02+01: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":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:51:03+01:00","run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:51:01+01:00","run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91677,"important":true,"run_id":"20261109_135102_292d44b8"}
2026-11-09T13:52:04+01: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":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:52:02+01:00","run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:52:01+01:00","run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.378,"exec_milliseconds":1378,"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":91677,"important":true,"run_id":"20261109_135203_10d26d6b"}
2026-11-09T13:53:02+01: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":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:52:02+01:00","run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:53:03+01:00","run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91677,"important":true,"run_id":"20261109_135302_a39943c5"}
2026-11-09T13:54:04+01: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":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:54:05+01:00","run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:54:03+01:00","run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":91677,"important":true,"run_id":"20261109_135403_e436d80f"}
2026-11-09T13:55:07+01: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":"20261109_135507_4fe96331"}
2026-11-09T13:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:55:05+01:00","run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:55:03+01:00","run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"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":91677,"important":true,"run_id":"20261109_135507_4fe96331"}
2026-11-09T13:56:03+01: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":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:55:05+01:00","run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:55:03+01:00","run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91677,"important":true,"run_id":"20261109_135603_dd716e7c"}
2026-11-09T13:57:02+01: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":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:56:07+01:00","run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:56:05+01:00","run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"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":91677,"important":true,"run_id":"20261109_135702_877952cc"}
2026-11-09T13:58:03+01: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":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:57:08+01:00","run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:57:07+01:00","run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91677,"important":true,"run_id":"20261109_135803_807a6203"}
2026-11-09T13:59:02+01: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":"20261109_135902_3a0a0289"}
2026-11-09T13:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T13:58:09+01:00","run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T13:58:07+01:00","run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T13:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":91677,"important":true,"run_id":"20261109_135902_3a0a0289"}
2026-11-09T14:00:36+01: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":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:36+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:36+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:36+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:00:11+01:00","run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:00:09+01:00","run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":91677,"important":true,"run_id":"20261109_140036_f1ee61ed"}
2026-11-09T14:01:04+01: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":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:00:11+01:00","run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:00:09+01:00","run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140104_43816697"}
2026-11-09T14:01:06+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.401,"exec_milliseconds":1401,"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":91677,"important":true,"run_id":"20261109_140104_43816697"}
2026-11-09T14:02:03+01: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":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:01:13+01:00","run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:01:11+01:00","run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.291,"exec_milliseconds":1291,"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":91677,"important":true,"run_id":"20261109_140203_8d3437da"}
2026-11-09T14:03:02+01: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":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:02:12+01:00","run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:02:11+01:00","run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.34,"exec_milliseconds":1340,"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":91677,"important":true,"run_id":"20261109_140302_e65cfb2e"}
2026-11-09T14:04:04+01: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":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:03:14+01:00","run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:03:13+01:00","run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":91677,"important":true,"run_id":"20261109_140403_8a8ec1f7"}
2026-11-09T14:05:07+01: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":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:04:14+01:00","run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:04:13+01:00","run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91677,"important":true,"run_id":"20261109_140507_5e816184"}
2026-11-09T14:06:04+01: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":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:05:16+01:00","run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:05:14+01:00","run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91677,"important":true,"run_id":"20261109_140603_ae30a1d3"}
2026-11-09T14:07:02+01: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":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:06:16+01:00","run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:06:14+01:00","run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140702_86953876"}
2026-11-09T14:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":91677,"important":true,"run_id":"20261109_140702_86953876"}
2026-11-09T14:08:04+01: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":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:07:18+01:00","run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:07:16+01:00","run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.392,"exec_milliseconds":1392,"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":91677,"important":true,"run_id":"20261109_140803_05cd3abb"}
2026-11-09T14:09:02+01: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":"20261109_140902_4f894e50"}
2026-11-09T14:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:08:20+01:00","run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:08:18+01:00","run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:09:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"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":91677,"important":true,"run_id":"20261109_140902_4f894e50"}
2026-11-09T14:10:13+01: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":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:09:19+01:00","run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:09:18+01:00","run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.384,"exec_milliseconds":1384,"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":91677,"important":true,"run_id":"20261109_141012_8b40e7c4"}
2026-11-09T14:11:03+01: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":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:10:22+01:00","run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:10:20+01:00","run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91677,"important":true,"run_id":"20261109_141102_c4f15631"}
2026-11-09T14:12:04+01: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":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:11:22+01:00","run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:11:20+01:00","run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.442,"duration_milliseconds":442,"important":true,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.276,"exec_milliseconds":1276,"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":91677,"important":true,"run_id":"20261109_141204_e4d76af8"}
2026-11-09T14:13:02+01: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":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:12:23+01:00","run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:12:22+01:00","run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.444,"duration_milliseconds":444,"important":true,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.299,"exec_milliseconds":1299,"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":91677,"important":true,"run_id":"20261109_141302_326f73b5"}
2026-11-09T14:14:04+01: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":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:13:23+01:00","run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:13:22+01:00","run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91677,"important":true,"run_id":"20261109_141404_b69e526b"}
2026-11-09T14:15:15+01: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":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:14:25+01:00","run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:14:24+01:00","run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":91677,"important":true,"run_id":"20261109_141514_3004f82d"}
2026-11-09T14:16:04+01: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":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:15:25+01:00","run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:15:24+01:00","run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.378,"exec_milliseconds":1378,"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":91677,"important":true,"run_id":"20261109_141603_4c3190d2"}
2026-11-09T14:17:02+01: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":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:16:27+01:00","run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:16:26+01:00","run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91677,"important":true,"run_id":"20261109_141702_3dafc6d5"}
2026-11-09T14:18:04+01: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":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:17:27+01:00","run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:17:25+01:00","run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"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":91677,"important":true,"run_id":"20261109_141803_ca9bfc7c"}
2026-11-09T14:19:02+01: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":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:18:29+01:00","run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:18:28+01:00","run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91677,"important":true,"run_id":"20261109_141902_b9507c4a"}
2026-11-09T14:20:12+01: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":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:19:29+01:00","run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:19:28+01:00","run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.493,"duration_milliseconds":493,"important":true,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.369,"exec_milliseconds":1369,"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":91677,"important":true,"run_id":"20261109_142012_b3a44be3"}
2026-11-09T14:21:02+01: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":"20261109_142102_ac73acb8"}
2026-11-09T14:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:20:31+01:00","run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:20:29+01:00","run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:21:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":91677,"important":true,"run_id":"20261109_142102_ac73acb8"}
2026-11-09T14:22:04+01: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":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:21:31+01:00","run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:21:30+01:00","run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.282,"exec_milliseconds":1282,"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":91677,"important":true,"run_id":"20261109_142204_7969f1c0"}
2026-11-09T14:23:02+01: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":"20261109_142302_ad6a4731"}
2026-11-09T14:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:22:33+01:00","run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:22:32+01:00","run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.446,"duration_milliseconds":446,"important":true,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:23:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.283,"exec_milliseconds":1283,"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":91677,"important":true,"run_id":"20261109_142302_ad6a4731"}
2026-11-09T14:24:03+01: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":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:23:33+01:00","run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:23:32+01:00","run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":91677,"important":true,"run_id":"20261109_142403_bf7f75b7"}
2026-11-09T14:25:07+01: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":"20261109_142507_bb1837d0"}
2026-11-09T14:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:24:35+01:00","run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:24:33+01:00","run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:25:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.389,"exec_milliseconds":1389,"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":91677,"important":true,"run_id":"20261109_142507_bb1837d0"}
2026-11-09T14:26:03+01: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":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:25:37+01:00","run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:25:35+01:00","run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91677,"important":true,"run_id":"20261109_142603_b08bfbb0"}
2026-11-09T14:27:02+01: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":"20261109_142702_2603a7c8"}
2026-11-09T14:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:26:36+01:00","run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:26:35+01:00","run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:27:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"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":91677,"important":true,"run_id":"20261109_142702_2603a7c8"}
2026-11-09T14:28:04+01: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":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:27:38+01:00","run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:27:37+01:00","run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91677,"important":true,"run_id":"20261109_142804_878f8e14"}
2026-11-09T14:29:02+01: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":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:28:38+01:00","run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:28:37+01:00","run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.444,"duration_milliseconds":444,"important":true,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.344,"exec_milliseconds":1344,"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":91677,"important":true,"run_id":"20261109_142902_9dddde58"}
2026-11-09T14:30:26+01: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":"20261109_143026_2f6d1022"}
2026-11-09T14:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:29:40+01:00","run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:29:38+01:00","run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:28+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:28+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:30:28+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91677,"important":true,"run_id":"20261109_143026_2f6d1022"}
2026-11-09T14:31:02+01: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":"20261109_143102_dac6032f"}
2026-11-09T14:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:30:42+01:00","run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:30:40+01:00","run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91677,"important":true,"run_id":"20261109_143102_dac6032f"}
2026-11-09T14:32:04+01: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":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:31:42+01:00","run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:31:40+01:00","run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91677,"important":true,"run_id":"20261109_143204_c992b5b0"}
2026-11-09T14:33:02+01: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":"20261109_143302_34623d0b"}
2026-11-09T14:33:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:32:43+01:00","run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:32:42+01:00","run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:33:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":91677,"important":true,"run_id":"20261109_143302_34623d0b"}
2026-11-09T14:34:03+01: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":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:33:43+01:00","run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:33:42+01:00","run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":91677,"important":true,"run_id":"20261109_143403_5261dca0"}
2026-11-09T14:35:07+01: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":"20261109_143507_6a677c26"}
2026-11-09T14:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:34:45+01:00","run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:34:44+01:00","run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":91677,"important":true,"run_id":"20261109_143507_6a677c26"}
2026-11-09T14:36:04+01: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":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:35:45+01:00","run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:35:44+01:00","run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91677,"important":true,"run_id":"20261109_143603_99663b31"}
2026-11-09T14:37:02+01: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":"20261109_143702_881f2a27"}
2026-11-09T14:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:36:47+01:00","run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:36:46+01:00","run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:37:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91677,"important":true,"run_id":"20261109_143702_881f2a27"}
2026-11-09T14:38:04+01: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":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:37:47+01:00","run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:37:45+01:00","run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"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":91677,"important":true,"run_id":"20261109_143804_5dd766fa"}
2026-11-09T14:39:02+01: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":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:38:49+01:00","run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:38:47+01:00","run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.278,"exec_milliseconds":1278,"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":91677,"important":true,"run_id":"20261109_143902_a53c6d2b"}
2026-11-09T14:40:13+01: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":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:39:50+01:00","run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:39:49+01:00","run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:40:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":91677,"important":true,"run_id":"20261109_144013_9630ccfa"}
2026-11-09T14:41:02+01: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":"20261109_144102_33ef5081"}
2026-11-09T14:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:40:50+01:00","run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:40:49+01:00","run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91677,"important":true,"run_id":"20261109_144102_33ef5081"}
2026-11-09T14:42:04+01: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":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:41:52+01:00","run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:41:51+01:00","run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":91677,"important":true,"run_id":"20261109_144204_32a48d8b"}
2026-11-09T14:43:02+01: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":"20261109_144302_90e7878c"}
2026-11-09T14:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:42:52+01:00","run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:42:51+01:00","run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:43:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":91677,"important":true,"run_id":"20261109_144302_90e7878c"}
2026-11-09T14:44:03+01: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":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:43:54+01:00","run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:43:53+01:00","run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"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":91677,"important":true,"run_id":"20261109_144403_b3dcf2cf"}
2026-11-09T14:45:14+01: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":"20261109_144514_3b349981"}
2026-11-09T14:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:44:54+01:00","run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:44:53+01:00","run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":91677,"important":true,"run_id":"20261109_144514_3b349981"}
2026-11-09T14:46:03+01: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":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:45:56+01:00","run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:45:55+01:00","run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.353,"exec_milliseconds":1353,"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":91677,"important":true,"run_id":"20261109_144603_0bbd4516"}
2026-11-09T14:47:02+01: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":"20261109_144702_dcda561e"}
2026-11-09T14:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:46:56+01:00","run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:46:55+01:00","run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"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":91677,"important":true,"run_id":"20261109_144702_dcda561e"}
2026-11-09T14:48:04+01: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":"20261109_144804_79716c3e"}
2026-11-09T14:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:47:58+01:00","run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:47:56+01:00","run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.38,"exec_milliseconds":1380,"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":91677,"important":true,"run_id":"20261109_144804_79716c3e"}
2026-11-09T14:49:02+01: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":"20261109_144902_6c373ed2"}
2026-11-09T14:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:48:57+01:00","run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:48:56+01:00","run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.276,"exec_milliseconds":1276,"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":91677,"important":true,"run_id":"20261109_144902_6c373ed2"}
2026-11-09T14:50:12+01: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":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:50:00+01:00","run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:49:58+01:00","run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":91677,"important":true,"run_id":"20261109_145012_be7bc4bd"}
2026-11-09T14:51:02+01: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":"20261109_145102_520cf3d0"}
2026-11-09T14:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:51:01+01:00","run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:51:00+01:00","run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:51:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"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":91677,"important":true,"run_id":"20261109_145102_520cf3d0"}
2026-11-09T14:52:03+01: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":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:52:01+01:00","run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:52:00+01:00","run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.272,"exec_milliseconds":1272,"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":91677,"important":true,"run_id":"20261109_145203_f689792e"}
2026-11-09T14:53:03+01: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":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:53:03+01:00","run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:53:02+01:00","run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.517,"duration_milliseconds":517,"important":true,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.479,"exec_milliseconds":1479,"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":91677,"important":true,"run_id":"20261109_145303_5cab192e"}
2026-11-09T14:54:03+01: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":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:54:03+01:00","run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:54:02+01:00","run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.432,"exec_milliseconds":1432,"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":91677,"important":true,"run_id":"20261109_145403_fdd8b979"}
2026-11-09T14:55:07+01: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":"20261109_145507_36e9ca27"}
2026-11-09T14:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:55:05+01:00","run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:55:03+01:00","run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:55:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.353,"exec_milliseconds":1353,"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":91677,"important":true,"run_id":"20261109_145507_36e9ca27"}
2026-11-09T14:56:04+01: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":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:55:05+01:00","run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:55:03+01:00","run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91677,"important":true,"run_id":"20261109_145604_66803d3e"}
2026-11-09T14:57:02+01: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":"20261109_145702_af5dc95d"}
2026-11-09T14:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:56:07+01:00","run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:56:06+01:00","run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.442,"duration_milliseconds":442,"important":true,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:57:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.282,"exec_milliseconds":1282,"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":91677,"important":true,"run_id":"20261109_145702_af5dc95d"}
2026-11-09T14:58:03+01: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":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:57:07+01:00","run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:57:05+01:00","run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.39,"exec_milliseconds":1390,"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":91677,"important":true,"run_id":"20261109_145803_b0899e8f"}
2026-11-09T14:59:02+01: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":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T14:58:08+01:00","run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T14:58:07+01:00","run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_145902_d5c95649"}
2026-11-09T14:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":91677,"important":true,"run_id":"20261109_145902_d5c95649"}
2026-11-09T15:00:36+01: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":"20261109_150036_8867d15c"}
2026-11-09T15:00:36+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:36+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:36+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:00:10+01:00","run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:00:09+01:00","run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.399,"exec_milliseconds":1399,"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":91677,"important":true,"run_id":"20261109_150036_8867d15c"}
2026-11-09T15:01:02+01: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":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:00:10+01:00","run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:00:09+01:00","run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.411,"exec_milliseconds":1411,"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":91677,"important":true,"run_id":"20261109_150102_98b52f01"}
2026-11-09T15:02:04+01: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":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:01:10+01:00","run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:01:09+01:00","run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"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":91677,"important":true,"run_id":"20261109_150204_c54dc913"}
2026-11-09T15:03:02+01: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":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:02:12+01:00","run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:02:10+01:00","run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"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":91677,"important":true,"run_id":"20261109_150302_fe635a31"}
2026-11-09T15:04:03+01: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":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:03:14+01:00","run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:03:12+01:00","run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91677,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91677,"important":true,"run_id":"20261109_150403_56745b46"}
2026-11-09T15:05:07+01: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":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:04:13+01:00","run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:04:12+01:00","run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"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":91676,"important":true,"run_id":"20261109_150507_eaff5ecf"}
2026-11-09T15:06:04+01: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":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:05:16+01:00","run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:05:14+01:00","run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.35,"exec_milliseconds":1350,"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":91676,"important":true,"run_id":"20261109_150603_23d609b8"}
2026-11-09T15:07:02+01: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":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:06:15+01:00","run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:06:14+01:00","run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":91676,"important":true,"run_id":"20261109_150702_42d3fc0a"}
2026-11-09T15:08:04+01: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":"20261109_150804_182b1c95"}
2026-11-09T15:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:07:18+01:00","run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:07:16+01:00","run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.447,"duration_milliseconds":447,"important":true,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.287,"exec_milliseconds":1287,"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":91676,"important":true,"run_id":"20261109_150804_182b1c95"}
2026-11-09T15:09:03+01: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":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:08:17+01:00","run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:08:16+01:00","run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91676,"important":true,"run_id":"20261109_150903_a6dc88cb"}
2026-11-09T15:10:12+01: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":"20261109_151012_89c88da7"}
2026-11-09T15:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:09:19+01:00","run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:09:18+01:00","run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"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":91676,"important":true,"run_id":"20261109_151012_89c88da7"}
2026-11-09T15:11:02+01: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":"20261109_151102_263a2f3b"}
2026-11-09T15:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:10:19+01:00","run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:10:18+01:00","run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91676,"important":true,"run_id":"20261109_151102_263a2f3b"}
2026-11-09T15:12:04+01: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":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:11:21+01:00","run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:11:20+01:00","run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"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":91676,"important":true,"run_id":"20261109_151203_5d7ec8e8"}
2026-11-09T15:13:02+01: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":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:12:21+01:00","run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:12:20+01:00","run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.364,"exec_milliseconds":1364,"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":91676,"important":true,"run_id":"20261109_151302_87321a5b"}
2026-11-09T15:14:04+01: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":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:13:23+01:00","run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:13:21+01:00","run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_151403_f306d482"}
2026-11-09T15:15:15+01: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":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:14:25+01:00","run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:14:23+01:00","run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"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":91676,"important":true,"run_id":"20261109_151515_89ad3aa5"}
2026-11-09T15:16:03+01: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":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:15:25+01:00","run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:15:23+01:00","run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.443,"exec_milliseconds":1443,"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":91676,"important":true,"run_id":"20261109_151603_c4349d55"}
2026-11-09T15:17:02+01: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":"20261109_151702_410bbfbe"}
2026-11-09T15:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:16:26+01:00","run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:16:25+01:00","run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":91676,"important":true,"run_id":"20261109_151702_410bbfbe"}
2026-11-09T15:18:04+01: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":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:17:27+01:00","run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:17:25+01:00","run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":91676,"important":true,"run_id":"20261109_151804_d33d31ac"}
2026-11-09T15:19:02+01: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":"20261109_151902_972075dd"}
2026-11-09T15:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:18:28+01:00","run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:18:27+01:00","run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.444,"duration_milliseconds":444,"important":true,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"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":91676,"important":true,"run_id":"20261109_151902_972075dd"}
2026-11-09T15:20:13+01: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":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:19:28+01:00","run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:19:27+01:00","run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.388,"exec_milliseconds":1388,"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":91676,"important":true,"run_id":"20261109_152013_e3e5d2f5"}
2026-11-09T15:21:03+01: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":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:20:30+01:00","run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:20:29+01:00","run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":91676,"important":true,"run_id":"20261109_152102_a088ee23"}
2026-11-09T15:22:03+01: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":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:21:30+01:00","run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:21:28+01:00","run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"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":91676,"important":true,"run_id":"20261109_152203_16fd6cc2"}
2026-11-09T15:23:02+01: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":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:22:31+01:00","run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:22:30+01:00","run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"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":91676,"important":true,"run_id":"20261109_152302_7268fbec"}
2026-11-09T15:24:03+01: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":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:23:33+01:00","run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:23:32+01:00","run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":91676,"important":true,"run_id":"20261109_152403_12ac8ac1"}
2026-11-09T15:25:07+01: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":"20261109_152507_243dc175"}
2026-11-09T15:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:24:34+01:00","run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:24:33+01:00","run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.447,"duration_milliseconds":447,"important":true,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.34,"exec_milliseconds":1340,"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":91676,"important":true,"run_id":"20261109_152507_243dc175"}
2026-11-09T15:26:04+01: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":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:25:35+01:00","run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:25:33+01:00","run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91676,"important":true,"run_id":"20261109_152603_1004abaa"}
2026-11-09T15:27:02+01: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":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:26:35+01:00","run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:26:34+01:00","run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:27:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_152702_cf09f2e1"}
2026-11-09T15:28:04+01: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":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:27:37+01:00","run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:27:36+01:00","run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"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":91676,"important":true,"run_id":"20261109_152803_7acecf21"}
2026-11-09T15:29:02+01: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":"20261109_152902_9060e80b"}
2026-11-09T15:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:28:37+01:00","run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:28:35+01:00","run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"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":91676,"important":true,"run_id":"20261109_152902_9060e80b"}
2026-11-09T15:30:27+01: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":"20261109_153027_6e138f67"}
2026-11-09T15:30:27+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:27+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:27+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:29:38+01:00","run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:29:37+01:00","run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:30:28+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"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":91676,"important":true,"run_id":"20261109_153027_6e138f67"}
2026-11-09T15:31:02+01: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":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:30:40+01:00","run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:30:39+01:00","run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.41,"exec_milliseconds":1410,"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":91676,"important":true,"run_id":"20261109_153102_ad3c1b79"}
2026-11-09T15:32:04+01: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":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:31:41+01:00","run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:31:40+01:00","run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91676,"important":true,"run_id":"20261109_153204_9794a682"}
2026-11-09T15:33:02+01: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":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:32:41+01:00","run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:32:40+01:00","run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.29,"exec_milliseconds":1290,"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":91676,"important":true,"run_id":"20261109_153302_4f714bd5"}
2026-11-09T15:34:03+01: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":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:33:43+01:00","run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:33:42+01:00","run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"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":91676,"important":true,"run_id":"20261109_153403_50bcd427"}
2026-11-09T15:35:07+01: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":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:34:44+01:00","run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:34:43+01:00","run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:35:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":91676,"important":true,"run_id":"20261109_153507_5a048c77"}
2026-11-09T15:36:03+01: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":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:35:44+01:00","run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:35:43+01:00","run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":91676,"important":true,"run_id":"20261109_153603_8f39cad6"}
2026-11-09T15:37:02+01: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":"20261109_153702_f22e278e"}
2026-11-09T15:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:36:46+01:00","run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:36:45+01:00","run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:37:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"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":91676,"important":true,"run_id":"20261109_153702_f22e278e"}
2026-11-09T15:38:04+01: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":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:37:46+01:00","run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:37:44+01:00","run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":91676,"important":true,"run_id":"20261109_153803_7d22ba01"}
2026-11-09T15:39:02+01: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":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:38:48+01:00","run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:38:46+01:00","run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.386,"exec_milliseconds":1386,"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":91676,"important":true,"run_id":"20261109_153902_0799cc68"}
2026-11-09T15:40:12+01: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":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:39:51+01:00","run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:39:48+01:00","run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91676,"important":true,"run_id":"20261109_154012_0ec54e9a"}
2026-11-09T15:41:02+01: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":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:40:51+01:00","run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:40:49+01:00","run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_154102_c5771e59"}
2026-11-09T15:42:04+01: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":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:41:51+01:00","run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:41:49+01:00","run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.274,"exec_milliseconds":1274,"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":91676,"important":true,"run_id":"20261109_154204_52c83c32"}
2026-11-09T15:43:02+01: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":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:42:52+01:00","run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:42:50+01:00","run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:43:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"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":91676,"important":true,"run_id":"20261109_154302_3e4c6a59"}
2026-11-09T15:44:03+01: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":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:43:53+01:00","run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:43:52+01:00","run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.41,"exec_milliseconds":1410,"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":91676,"important":true,"run_id":"20261109_154403_93663f1a"}
2026-11-09T15:45:15+01: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":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:44:53+01:00","run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:44:52+01:00","run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:45:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.357,"exec_milliseconds":1357,"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":91676,"important":true,"run_id":"20261109_154515_1077aa7e"}
2026-11-09T15:46:03+01: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":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:45:55+01:00","run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:45:54+01:00","run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.379,"exec_milliseconds":1379,"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":91676,"important":true,"run_id":"20261109_154603_b5ec001e"}
2026-11-09T15:47:02+01: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":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:46:55+01:00","run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:46:54+01:00","run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":91676,"important":true,"run_id":"20261109_154702_ba3fe62d"}
2026-11-09T15:48:04+01: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":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:47:57+01:00","run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:47:55+01:00","run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"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":91676,"important":true,"run_id":"20261109_154804_cf083732"}
2026-11-09T15:49:02+01: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":"20261109_154902_0bd91d56"}
2026-11-09T15:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:48:59+01:00","run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:48:57+01:00","run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":91676,"important":true,"run_id":"20261109_154902_0bd91d56"}
2026-11-09T15:50:12+01: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":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:49:59+01:00","run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:49:57+01:00","run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":91676,"important":true,"run_id":"20261109_155012_33da9337"}
2026-11-09T15:51:02+01: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":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:51:01+01:00","run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:50:59+01:00","run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:51:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":91676,"important":true,"run_id":"20261109_155102_f5bc5f27"}
2026-11-09T15:52:04+01: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":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:52:01+01:00","run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:51:59+01:00","run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91676,"important":true,"run_id":"20261109_155203_414a6da9"}
2026-11-09T15:53:02+01: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":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:53:03+01:00","run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:53:01+01:00","run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.416,"exec_milliseconds":1416,"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":91676,"important":true,"run_id":"20261109_155302_07f90bfa"}
2026-11-09T15:54:03+01: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":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:54:02+01:00","run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:54:01+01:00","run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155403_08629160"}
2026-11-09T15:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.411,"exec_milliseconds":1411,"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":91676,"important":true,"run_id":"20261109_155403_08629160"}
2026-11-09T15:55:07+01: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":"20261109_155507_25f81c29"}
2026-11-09T15:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:55:04+01:00","run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:55:03+01:00","run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"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":91676,"important":true,"run_id":"20261109_155507_25f81c29"}
2026-11-09T15:56:04+01: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":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:56:04+01:00","run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:56:03+01:00","run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91676,"important":true,"run_id":"20261109_155604_be65bba8"}
2026-11-09T15:57:02+01: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":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:56:04+01:00","run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:56:03+01:00","run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"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":91676,"important":true,"run_id":"20261109_155702_84e3eccc"}
2026-11-09T15:58:03+01: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":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:57:06+01:00","run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:58:04+01:00","run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91676,"important":true,"run_id":"20261109_155803_928a483a"}
2026-11-09T15:59:02+01: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":"20261109_155902_de7b4383"}
2026-11-09T15:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T15:58:06+01:00","run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T15:58:04+01:00","run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_155902_de7b4383"}
2026-11-09T15:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.298,"exec_milliseconds":1298,"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":91676,"important":true,"run_id":"20261109_155902_de7b4383"}
2026-11-09T16:00:39+01: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":"20261109_160039_aae3f548"}
2026-11-09T16:00:39+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:39+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:00:08+01:00","run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:00:07+01:00","run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:40+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:41+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:41+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:00:41+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91676,"important":true,"run_id":"20261109_160039_aae3f548"}
2026-11-09T16:01:02+01: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":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:00:08+01:00","run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:00:07+01:00","run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.398,"exec_milliseconds":1398,"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":91676,"important":true,"run_id":"20261109_160102_6f9b0fd9"}
2026-11-09T16:02:04+01: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":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:01:10+01:00","run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:01:08+01:00","run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.455,"exec_milliseconds":1455,"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":91676,"important":true,"run_id":"20261109_160204_05ff939d"}
2026-11-09T16:03:02+01: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":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:02:10+01:00","run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:02:09+01:00","run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91676,"important":true,"run_id":"20261109_160302_c20a7ea3"}
2026-11-09T16:04:04+01: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":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:03:12+01:00","run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:03:11+01:00","run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"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":91676,"important":true,"run_id":"20261109_160404_fbfae322"}
2026-11-09T16:05:08+01: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":"20261109_160508_185af2b6"}
2026-11-09T16:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:04:12+01:00","run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:04:10+01:00","run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91676,"important":true,"run_id":"20261109_160508_185af2b6"}
2026-11-09T16:06:04+01: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":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:05:14+01:00","run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:05:12+01:00","run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":91676,"important":true,"run_id":"20261109_160603_3ceedb0a"}
2026-11-09T16:07:02+01: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":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:06:14+01:00","run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:06:13+01:00","run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91676,"important":true,"run_id":"20261109_160702_41f3cf85"}
2026-11-09T16:08:04+01: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":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:07:16+01:00","run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:07:14+01:00","run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:10+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:10+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:08:10+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":6.058,"exec_milliseconds":6058,"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":91676,"important":true,"run_id":"20261109_160804_ef98c0d4"}
2026-11-09T16:09:02+01: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":"20261109_160902_495544e7"}
2026-11-09T16:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:08:18+01:00","run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:08:16+01:00","run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:09:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":91676,"important":true,"run_id":"20261109_160902_495544e7"}
2026-11-09T16:10:12+01: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":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:09:18+01:00","run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:09:16+01:00","run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":91676,"important":true,"run_id":"20261109_161012_3413a48e"}
2026-11-09T16:11:02+01: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":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:10:18+01:00","run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:10:17+01:00","run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":91676,"important":true,"run_id":"20261109_161102_8dfa4adf"}
2026-11-09T16:12:04+01: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":"20261109_161204_ccd91610"}
2026-11-09T16:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:11:20+01:00","run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:11:19+01:00","run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.447,"duration_milliseconds":447,"important":true,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.3,"exec_milliseconds":1300,"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":91676,"important":true,"run_id":"20261109_161204_ccd91610"}
2026-11-09T16:13:02+01: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":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:12:20+01:00","run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:12:18+01:00","run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_161302_7453d3e0"}
2026-11-09T16:14:04+01: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":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:13:22+01:00","run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:13:20+01:00","run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"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":91676,"important":true,"run_id":"20261109_161403_411b299f"}
2026-11-09T16:15:15+01: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":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:14:24+01:00","run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:14:22+01:00","run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"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":91676,"important":true,"run_id":"20261109_161514_66f4ae22"}
2026-11-09T16:16:04+01: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":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:15:24+01:00","run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:15:22+01:00","run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.454,"exec_milliseconds":1454,"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":91676,"important":true,"run_id":"20261109_161603_5e87cc75"}
2026-11-09T16:17:02+01: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":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:16:25+01:00","run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:16:24+01:00","run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.312,"exec_milliseconds":1312,"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":91676,"important":true,"run_id":"20261109_161702_b593f1bc"}
2026-11-09T16:18:04+01: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":"20261109_161804_5a2b5578"}
2026-11-09T16:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:17:25+01:00","run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:17:24+01:00","run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"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":91676,"important":true,"run_id":"20261109_161804_5a2b5578"}
2026-11-09T16:19:02+01: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":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:18:27+01:00","run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:18:26+01:00","run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"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":91676,"important":true,"run_id":"20261109_161902_565116a7"}
2026-11-09T16:20:12+01: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":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:19:27+01:00","run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:19:26+01:00","run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":91676,"important":true,"run_id":"20261109_162012_8846c862"}
2026-11-09T16:21:02+01: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":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:20:29+01:00","run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:20:27+01:00","run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91676,"important":true,"run_id":"20261109_162102_bc11a867"}
2026-11-09T16:22:03+01: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":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:21:31+01:00","run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:21:29+01:00","run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":91676,"important":true,"run_id":"20261109_162203_117901e7"}
2026-11-09T16:23:02+01: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":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:22:30+01:00","run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:22:29+01:00","run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":91676,"important":true,"run_id":"20261109_162302_a1d7bee7"}
2026-11-09T16:24:04+01: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":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:23:32+01:00","run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:23:31+01:00","run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.408,"exec_milliseconds":1408,"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":91676,"important":true,"run_id":"20261109_162404_8c7a1fc6"}
2026-11-09T16:25:07+01: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":"20261109_162507_2108d00a"}
2026-11-09T16:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:24:32+01:00","run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:24:31+01:00","run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":91676,"important":true,"run_id":"20261109_162507_2108d00a"}
2026-11-09T16:26:03+01: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":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:25:34+01:00","run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:25:33+01:00","run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_162603_d9d625f6"}
2026-11-09T16:27:02+01: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":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:26:34+01:00","run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:26:33+01:00","run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"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":91676,"important":true,"run_id":"20261109_162702_36854cbe"}
2026-11-09T16:28:03+01: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":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:27:36+01:00","run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:27:34+01:00","run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91676,"important":true,"run_id":"20261109_162803_477f2ce4"}
2026-11-09T16:29:02+01: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":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:28:38+01:00","run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:28:36+01:00","run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":91676,"important":true,"run_id":"20261109_162902_cf913588"}
2026-11-09T16:30:27+01: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":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:27+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:29:37+01:00","run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:29:36+01:00","run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:30:28+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":91676,"important":true,"run_id":"20261109_163027_00a4d182"}
2026-11-09T16:31:02+01: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":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:30:39+01:00","run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:30:38+01:00","run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.427,"exec_milliseconds":1427,"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":91676,"important":true,"run_id":"20261109_163102_df6e24a8"}
2026-11-09T16:32:04+01: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":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:31:39+01:00","run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:31:38+01:00","run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":91676,"important":true,"run_id":"20261109_163204_0486f9ec"}
2026-11-09T16:33:02+01: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":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:32:41+01:00","run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:32:40+01:00","run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":91676,"important":true,"run_id":"20261109_163302_d1ab2d53"}
2026-11-09T16:34:03+01: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":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:33:41+01:00","run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:33:40+01:00","run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.292,"exec_milliseconds":1292,"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":91676,"important":true,"run_id":"20261109_163403_81998ba8"}
2026-11-09T16:35:07+01: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":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:34:43+01:00","run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:34:42+01:00","run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"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":91676,"important":true,"run_id":"20261109_163507_72ad9fa0"}
2026-11-09T16:36:04+01: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":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:35:43+01:00","run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:35:41+01:00","run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91676,"important":true,"run_id":"20261109_163603_0f2d1556"}
2026-11-09T16:37:02+01: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":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:36:45+01:00","run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:36:43+01:00","run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"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":91676,"important":true,"run_id":"20261109_163702_027b2d09"}
2026-11-09T16:38:03+01: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":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:37:47+01:00","run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:37:45+01:00","run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"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":91676,"important":true,"run_id":"20261109_163803_6627f717"}
2026-11-09T16:39:02+01: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":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:38:46+01:00","run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:38:45+01:00","run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91676,"important":true,"run_id":"20261109_163902_47ccf2ab"}
2026-11-09T16:40:12+01: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":"20261109_164012_41c43f10"}
2026-11-09T16:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:39:48+01:00","run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:39:47+01:00","run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":91676,"important":true,"run_id":"20261109_164012_41c43f10"}
2026-11-09T16:41:02+01: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":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:40:48+01:00","run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:40:47+01:00","run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"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":91676,"important":true,"run_id":"20261109_164102_dba8557a"}
2026-11-09T16:42:04+01: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":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:41:50+01:00","run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:41:49+01:00","run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.289,"exec_milliseconds":1289,"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":91676,"important":true,"run_id":"20261109_164204_c1e7cbde"}
2026-11-09T16:43:02+01: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":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:42:50+01:00","run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:42:48+01:00","run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"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":91676,"important":true,"run_id":"20261109_164302_0a9d3d1d"}
2026-11-09T16:44:04+01: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":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:43:52+01:00","run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:43:50+01:00","run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.34,"exec_milliseconds":1340,"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":91676,"important":true,"run_id":"20261109_164404_83135b30"}
2026-11-09T16:45:15+01: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":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:44:54+01:00","run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:44:52+01:00","run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:45:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91676,"important":true,"run_id":"20261109_164514_2c324b07"}
2026-11-09T16:46:03+01: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":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:45:54+01:00","run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:45:52+01:00","run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"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":91676,"important":true,"run_id":"20261109_164603_52e3753d"}
2026-11-09T16:47:02+01: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":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:46:54+01:00","run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:46:53+01:00","run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_164702_0cf7eec4"}
2026-11-09T16:48:04+01: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":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:47:56+01:00","run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:47:55+01:00","run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.314,"exec_milliseconds":1314,"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":91676,"important":true,"run_id":"20261109_164803_16f0321e"}
2026-11-09T16:49:02+01: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":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:48:56+01:00","run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:48:54+01:00","run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_164902_c4d493d2"}
2026-11-09T16:50:12+01: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":"20261109_165012_7d934ab9"}
2026-11-09T16:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:49:58+01:00","run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:49:56+01:00","run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.36,"exec_milliseconds":1360,"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":91676,"important":true,"run_id":"20261109_165012_7d934ab9"}
2026-11-09T16:51:02+01: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":"20261109_165102_da60d60e"}
2026-11-09T16:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:51:00+01:00","run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:50:58+01:00","run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:51:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"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":91676,"important":true,"run_id":"20261109_165102_da60d60e"}
2026-11-09T16:52:03+01: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":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:52:00+01:00","run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:51:58+01:00","run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.357,"exec_milliseconds":1357,"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":91676,"important":true,"run_id":"20261109_165203_98ae01a3"}
2026-11-09T16:53:02+01: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":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:53:02+01:00","run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:53:00+01:00","run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91676,"important":true,"run_id":"20261109_165302_5a7e4e4e"}
2026-11-09T16:54:03+01: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":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:54:02+01:00","run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:54:00+01:00","run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91676,"important":true,"run_id":"20261109_165403_5380319a"}
2026-11-09T16:55:07+01: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":"20261109_165507_5df332b6"}
2026-11-09T16:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:55:04+01:00","run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:55:02+01:00","run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.495,"duration_milliseconds":495,"important":true,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.427,"exec_milliseconds":1427,"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":91676,"important":true,"run_id":"20261109_165507_5df332b6"}
2026-11-09T16:56:03+01: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":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:56:03+01:00","run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:56:02+01:00","run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_165603_0f9028b2"}
2026-11-09T16:57:02+01: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":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:56:03+01:00","run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:56:02+01:00","run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:57:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":91676,"important":true,"run_id":"20261109_165702_fa67d2c4"}
2026-11-09T16:58:04+01: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":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:57:05+01:00","run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:58:04+01:00","run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.493,"duration_milliseconds":493,"important":true,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"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":91676,"important":true,"run_id":"20261109_165803_16df9c56"}
2026-11-09T16:59:02+01: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":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T16:58:05+01:00","run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T16:58:04+01:00","run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_165902_922f3b29"}
2026-11-09T16:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.379,"exec_milliseconds":1379,"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":91676,"important":true,"run_id":"20261109_165902_922f3b29"}
2026-11-09T17:00:36+01: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":"20261109_170036_b85f524b"}
2026-11-09T17:00:36+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:36+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:36+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:00:07+01:00","run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:00:06+01:00","run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91676,"important":true,"run_id":"20261109_170036_b85f524b"}
2026-11-09T17:01:02+01: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":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:00:07+01:00","run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:00:06+01:00","run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.397,"exec_milliseconds":1397,"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":91676,"important":true,"run_id":"20261109_170102_79ccc4b4"}
2026-11-09T17:02:04+01: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":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:01:10+01:00","run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:01:08+01:00","run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":91676,"important":true,"run_id":"20261109_170203_58ef2b1e"}
2026-11-09T17:03:02+01: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":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:02:09+01:00","run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:02:08+01:00","run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91676,"important":true,"run_id":"20261109_170302_05cc1d3a"}
2026-11-09T17:04:03+01: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":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:03:12+01:00","run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:03:10+01:00","run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"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":91676,"important":true,"run_id":"20261109_170403_962911cd"}
2026-11-09T17:05:08+01: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":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:04:12+01:00","run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:04:10+01:00","run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":91676,"important":true,"run_id":"20261109_170507_d65eb005"}
2026-11-09T17:06:04+01: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":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:05:12+01:00","run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:05:11+01:00","run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":91676,"important":true,"run_id":"20261109_170604_f6fada7c"}
2026-11-09T17:07:02+01: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":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:06:14+01:00","run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:06:12+01:00","run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":91676,"important":true,"run_id":"20261109_170702_f23f7faf"}
2026-11-09T17:08:03+01: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":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:07:16+01:00","run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:07:14+01:00","run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91676,"important":true,"run_id":"20261109_170803_6d1b7879"}
2026-11-09T17:09:02+01: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":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:08:16+01:00","run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:08:14+01:00","run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"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":91676,"important":true,"run_id":"20261109_170902_f2bddb50"}
2026-11-09T17:10:12+01: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":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:09:18+01:00","run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:09:16+01:00","run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":91676,"important":true,"run_id":"20261109_171012_6741daf7"}
2026-11-09T17:11:02+01: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":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:10:17+01:00","run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:10:16+01:00","run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":91676,"important":true,"run_id":"20261109_171102_c6039998"}
2026-11-09T17:12:04+01: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":"20261109_171204_08765ef5"}
2026-11-09T17:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:11:19+01:00","run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:11:18+01:00","run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"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":91676,"important":true,"run_id":"20261109_171204_08765ef5"}
2026-11-09T17:13:03+01: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":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:12:19+01:00","run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:12:18+01:00","run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":91676,"important":true,"run_id":"20261109_171302_b1885b30"}
2026-11-09T17:14:03+01: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":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:13:21+01:00","run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:13:20+01:00","run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91676,"important":true,"run_id":"20261109_171403_74324e7e"}
2026-11-09T17:15:15+01: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":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:14:21+01:00","run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:14:19+01:00","run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":91676,"important":true,"run_id":"20261109_171515_63c0662a"}
2026-11-09T17:16:04+01: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":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:15:23+01:00","run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:15:21+01:00","run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.498,"duration_milliseconds":498,"important":true,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.451,"exec_milliseconds":1451,"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":91676,"important":true,"run_id":"20261109_171603_4093cc4b"}
2026-11-09T17:17:03+01: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":"20261109_171703_d2187565"}
2026-11-09T17:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:16:25+01:00","run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:16:23+01:00","run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":91676,"important":true,"run_id":"20261109_171703_d2187565"}
2026-11-09T17:18:04+01: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":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:17:24+01:00","run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:17:23+01:00","run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":91676,"important":true,"run_id":"20261109_171804_5a002ca5"}
2026-11-09T17:19:02+01: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":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:18:27+01:00","run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:18:25+01:00","run_id":"20261109_171902_38300154"}
2026-11-09T17:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_171902_38300154"}
2026-11-09T17:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"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":91676,"important":true,"run_id":"20261109_171902_38300154"}
2026-11-09T17:20:12+01: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":"20261109_172012_0e822339"}
2026-11-09T17:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Processing live game {"spiel_id":2006908,"team_id":551,"league":"BBL","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":551,"spiel_id":2006908,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006908,"file":"2006908_INIT.JSN","size":4157,"mtime":"2026-11-09T17:18:02+01:00","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006908,"file":"2006908_INIT.JSN","referee_count":4,"spect":4563,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006908,"file":"2006908.JSN","size":15099,"mtime":"2026-11-09T17:18:02+01:00","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006908,"file":"2006908.JSN","ra":69,"rb":67,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006908,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Live game timing {"spiel_id":2006908,"duration_seconds":0.495,"duration_milliseconds":495,"important":true,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:19:27+01:00","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:19:26+01:00","run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.169,"duration_milliseconds":169,"important":true,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":183545,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.603,"exec_milliseconds":1603,"live_games":2,"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":183545,"important":true,"run_id":"20261109_172012_0e822339"}
2026-11-09T17:21:02+01: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":"20261109_172102_6d57cd25"}
2026-11-09T17:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:20:27+01:00","run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:20:26+01:00","run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.384,"exec_milliseconds":1384,"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":91676,"important":true,"run_id":"20261109_172102_6d57cd25"}
2026-11-09T17:22:03+01: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":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:21:29+01:00","run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:21:28+01:00","run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.338,"exec_milliseconds":1338,"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":91676,"important":true,"run_id":"20261109_172203_bbafb2e5"}
2026-11-09T17:23:02+01: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":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:22:30+01:00","run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:22:29+01:00","run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.344,"exec_milliseconds":1344,"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":91676,"important":true,"run_id":"20261109_172302_32b74f2a"}
2026-11-09T17:24:04+01: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":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:23:30+01:00","run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:23:29+01:00","run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"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":91676,"important":true,"run_id":"20261109_172404_fd1987f1"}
2026-11-09T17:25:07+01: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":"20261109_172507_bcdd642d"}
2026-11-09T17:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:24:33+01:00","run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:24:31+01:00","run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.376,"exec_milliseconds":1376,"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":91676,"important":true,"run_id":"20261109_172507_bcdd642d"}
2026-11-09T17:26:03+01: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":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:25:35+01:00","run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:25:32+01:00","run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"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":91676,"important":true,"run_id":"20261109_172603_60ae6dbe"}
2026-11-09T17:27:02+01: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":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:26:33+01:00","run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:26:32+01:00","run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":91676,"important":true,"run_id":"20261109_172702_42c853d9"}
2026-11-09T17:28:03+01: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":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:27:35+01:00","run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:27:33+01:00","run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.386,"exec_milliseconds":1386,"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":91676,"important":true,"run_id":"20261109_172803_ee0e6ebb"}
2026-11-09T17:29:02+01: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":"20261109_172902_38cbc499"}
2026-11-09T17:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:28:37+01:00","run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:28:35+01:00","run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":91676,"important":true,"run_id":"20261109_172902_38cbc499"}
2026-11-09T17:30:26+01: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":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:29:37+01:00","run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:29:35+01:00","run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:28+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:28+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:30:28+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":91676,"important":true,"run_id":"20261109_173026_0ed5e4e1"}
2026-11-09T17:31:02+01: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":"20261109_173102_03a89bb6"}
2026-11-09T17:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:30:37+01:00","run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:30:36+01:00","run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.408,"exec_milliseconds":1408,"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":91676,"important":true,"run_id":"20261109_173102_03a89bb6"}
2026-11-09T17:32:04+01: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":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:31:39+01:00","run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:31:38+01:00","run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91676,"important":true,"run_id":"20261109_173203_48e73823"}
2026-11-09T17:33:02+01: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":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:32:39+01:00","run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:32:38+01:00","run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"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":91676,"important":true,"run_id":"20261109_173302_eaec782e"}
2026-11-09T17:34:03+01: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":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:33:41+01:00","run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:33:39+01:00","run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":91676,"important":true,"run_id":"20261109_173403_f35f5301"}
2026-11-09T17:35:07+01: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":"20261109_173507_65557d29"}
2026-11-09T17:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:34:43+01:00","run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:34:41+01:00","run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91676,"important":true,"run_id":"20261109_173507_65557d29"}
2026-11-09T17:36:03+01: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":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:35:43+01:00","run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:35:41+01:00","run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91676,"important":true,"run_id":"20261109_173603_4ea3d478"}
2026-11-09T17:37:03+01: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":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:36:44+01:00","run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:36:43+01:00","run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":91676,"important":true,"run_id":"20261109_173703_0755b9c6"}
2026-11-09T17:38:04+01: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":"20261109_173804_587b1c95"}
2026-11-09T17:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:37:45+01:00","run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:37:43+01:00","run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":91676,"important":true,"run_id":"20261109_173804_587b1c95"}
2026-11-09T17:39:02+01: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":"20261109_173902_c5e83f78"}
2026-11-09T17:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:38:46+01:00","run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:38:45+01:00","run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:39:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":91676,"important":true,"run_id":"20261109_173902_c5e83f78"}
2026-11-09T17:40:11+01: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":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:39:46+01:00","run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:39:45+01:00","run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"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":91676,"important":true,"run_id":"20261109_174011_1de463d1"}
2026-11-09T17:41:03+01: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":"20261109_174103_99b8f107"}
2026-11-09T17:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:40:48+01:00","run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:40:47+01:00","run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91676,"important":true,"run_id":"20261109_174103_99b8f107"}
2026-11-09T17:42:04+01: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":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:41:48+01:00","run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:41:47+01:00","run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":91676,"important":true,"run_id":"20261109_174204_0ca8e2eb"}
2026-11-09T17:43:02+01: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":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:42:50+01:00","run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:42:49+01:00","run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":91676,"important":true,"run_id":"20261109_174302_d7d43d9f"}
2026-11-09T17:44:03+01: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":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:43:50+01:00","run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:43:49+01:00","run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91676,"important":true,"run_id":"20261109_174403_ee68d3dc"}
2026-11-09T17:45:15+01: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":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:44:52+01:00","run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:44:50+01:00","run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:17+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:17+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174515_aface224"}
2026-11-09T17:45:17+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.391,"exec_milliseconds":1391,"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":91676,"important":true,"run_id":"20261109_174515_aface224"}
2026-11-09T17:46:04+01: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":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:45:54+01:00","run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:45:52+01:00","run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"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":91676,"important":true,"run_id":"20261109_174603_4d9bc820"}
2026-11-09T17:47:03+01: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":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:46:54+01:00","run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:46:52+01:00","run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.386,"exec_milliseconds":1386,"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":91676,"important":true,"run_id":"20261109_174702_3749f9ff"}
2026-11-09T17:48:04+01: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":"20261109_174804_7a65b5da"}
2026-11-09T17:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:47:56+01:00","run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:47:54+01:00","run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91676,"important":true,"run_id":"20261109_174804_7a65b5da"}
2026-11-09T17:49:02+01: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":"20261109_174902_a1c27143"}
2026-11-09T17:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:48:55+01:00","run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:48:54+01:00","run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":91676,"important":true,"run_id":"20261109_174902_a1c27143"}
2026-11-09T17:50:12+01: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":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:49:59+01:00","run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:49:56+01:00","run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_175012_a91ca143"}
2026-11-09T17:51:02+01: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":"20261109_175102_2f6921cf"}
2026-11-09T17:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:50:57+01:00","run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:50:56+01:00","run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"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":91676,"important":true,"run_id":"20261109_175102_2f6921cf"}
2026-11-09T17:52:04+01: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":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:51:59+01:00","run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:51:58+01:00","run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175204_03746243"}
2026-11-09T17:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":91676,"important":true,"run_id":"20261109_175204_03746243"}
2026-11-09T17:53:02+01: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":"20261109_175302_35077628"}
2026-11-09T17:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175302_35077628"}
2026-11-09T17:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:52:59+01:00","run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:52:57+01:00","run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175302_35077628"}
2026-11-09T17:53:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":91676,"important":true,"run_id":"20261109_175302_35077628"}
2026-11-09T17:54:03+01: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":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:54:01+01:00","run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:53:59+01:00","run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"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":91676,"important":true,"run_id":"20261109_175403_d88175ad"}
2026-11-09T17:55:07+01: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":"20261109_175507_ae9981d5"}
2026-11-09T17:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:55:01+01:00","run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:55:00+01:00","run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.426,"exec_milliseconds":1426,"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":91676,"important":true,"run_id":"20261109_175507_ae9981d5"}
2026-11-09T17:56:04+01: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":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:56:04+01:00","run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:56:02+01:00","run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":91676,"important":true,"run_id":"20261109_175603_01ed4983"}
2026-11-09T17:57:02+01: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":"20261109_175702_6617a3e7"}
2026-11-09T17:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:56:04+01:00","run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:57:02+01:00","run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:57:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":91676,"important":true,"run_id":"20261109_175702_6617a3e7"}
2026-11-09T17:58:04+01: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":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:57:04+01:00","run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:58:04+01:00","run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.506,"duration_milliseconds":506,"important":true,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"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":91676,"important":true,"run_id":"20261109_175804_cfe37b45"}
2026-11-09T17:59:02+01: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":"20261109_175902_d6d0958c"}
2026-11-09T17:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T17:58:06+01:00","run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T17:58:04+01:00","run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T17:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.29,"exec_milliseconds":1290,"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":91676,"important":true,"run_id":"20261109_175902_d6d0958c"}
2026-11-09T18:00:39+01: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":"20261109_180039_76cc45f7"}
2026-11-09T18:00:39+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:39+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:39+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:00:08+01:00","run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:00:06+01:00","run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:00:40+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"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":91676,"important":true,"run_id":"20261109_180039_76cc45f7"}
2026-11-09T18:01:02+01: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":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:00:08+01:00","run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:00:06+01:00","run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91676,"important":true,"run_id":"20261109_180102_5966254e"}
2026-11-09T18:02:04+01: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":"20261109_180204_3120b2e5"}
2026-11-09T18:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:01:08+01:00","run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:01:07+01:00","run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"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":91676,"important":true,"run_id":"20261109_180204_3120b2e5"}
2026-11-09T18:03:03+01: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":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:02:08+01:00","run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:02:07+01:00","run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":91676,"important":true,"run_id":"20261109_180303_a50184f0"}
2026-11-09T18:04:03+01: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":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:03:10+01:00","run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:03:09+01:00","run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":91676,"important":true,"run_id":"20261109_180403_49390cc2"}
2026-11-09T18:05:08+01: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":"20261109_180508_929aabe4"}
2026-11-09T18:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:04:10+01:00","run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:04:09+01:00","run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.36,"exec_milliseconds":1360,"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":91676,"important":true,"run_id":"20261109_180508_929aabe4"}
2026-11-09T18:06:04+01: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":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:05:12+01:00","run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:05:11+01:00","run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":91676,"important":true,"run_id":"20261109_180604_b6089fcb"}
2026-11-09T18:07:03+01: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":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:06:12+01:00","run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:06:11+01:00","run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_180702_5d651b4a"}
2026-11-09T18:08:04+01: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":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:07:14+01:00","run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:07:13+01:00","run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":91676,"important":true,"run_id":"20261109_180804_04c14ba2"}
2026-11-09T18:09:02+01: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":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:08:14+01:00","run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:08:12+01:00","run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":91676,"important":true,"run_id":"20261109_180902_7f858ca4"}
2026-11-09T18:10:12+01: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":"20261109_181012_e74d40f0"}
2026-11-09T18:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:09:16+01:00","run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:09:14+01:00","run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.279,"exec_milliseconds":1279,"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":91676,"important":true,"run_id":"20261109_181012_e74d40f0"}
2026-11-09T18:11:02+01: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":"20261109_181102_93b22335"}
2026-11-09T18:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:10:18+01:00","run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:10:16+01:00","run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:11:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"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":91676,"important":true,"run_id":"20261109_181102_93b22335"}
2026-11-09T18:12:04+01: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":"20261109_181204_abbf1c88"}
2026-11-09T18:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:11:18+01:00","run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:11:16+01:00","run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":91676,"important":true,"run_id":"20261109_181204_abbf1c88"}
2026-11-09T18:13:02+01: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":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:12:20+01:00","run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:12:18+01:00","run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":91676,"important":true,"run_id":"20261109_181302_3b95e244"}
2026-11-09T18:14:04+01: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":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:13:20+01:00","run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:13:19+01:00","run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.357,"exec_milliseconds":1357,"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":91676,"important":true,"run_id":"20261109_181404_a10c3ca4"}
2026-11-09T18:15:16+01: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":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:16+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:14:22+01:00","run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:14:20+01:00","run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:15:17+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_181516_03de774f"}
2026-11-09T18:16:03+01: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":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:15:22+01:00","run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:15:20+01:00","run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.388,"exec_milliseconds":1388,"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":91676,"important":true,"run_id":"20261109_181603_15a8ecfc"}
2026-11-09T18:17:02+01: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":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:16:24+01:00","run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:16:22+01:00","run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":91676,"important":true,"run_id":"20261109_181702_f3ef2b00"}
2026-11-09T18:18:04+01: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":"20261109_181804_2b75160b"}
2026-11-09T18:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:17:24+01:00","run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:17:22+01:00","run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91676,"important":true,"run_id":"20261109_181804_2b75160b"}
2026-11-09T18:19:02+01: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":"20261109_181902_aa345195"}
2026-11-09T18:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:18:26+01:00","run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:18:24+01:00","run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":91676,"important":true,"run_id":"20261109_181902_aa345195"}
2026-11-09T18:20:13+01: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":"20261109_182013_41ff5816"}
2026-11-09T18:20:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:19:26+01:00","run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:19:24+01:00","run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91676,"important":true,"run_id":"20261109_182013_41ff5816"}
2026-11-09T18:21:02+01: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":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:20:27+01:00","run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:20:26+01:00","run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":91676,"important":true,"run_id":"20261109_182102_008f3d5b"}
2026-11-09T18:22:04+01: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":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:21:28+01:00","run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:21:26+01:00","run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":91676,"important":true,"run_id":"20261109_182204_a2566f42"}
2026-11-09T18:23:02+01: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":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:22:30+01:00","run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:22:28+01:00","run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"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":91676,"important":true,"run_id":"20261109_182302_3d8a1909"}
2026-11-09T18:24:04+01: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":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:23:30+01:00","run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:23:28+01:00","run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":91676,"important":true,"run_id":"20261109_182403_3d0dcebb"}
2026-11-09T18:25:07+01: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":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:24:32+01:00","run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:24:30+01:00","run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.424,"exec_milliseconds":1424,"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":91676,"important":true,"run_id":"20261109_182507_8ce45a9b"}
2026-11-09T18:26:03+01: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":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:25:32+01:00","run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:25:30+01:00","run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"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":91676,"important":true,"run_id":"20261109_182603_7845bf44"}
2026-11-09T18:27:02+01: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":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:26:33+01:00","run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:26:32+01:00","run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.35,"exec_milliseconds":1350,"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":91676,"important":true,"run_id":"20261109_182702_88f4f3a1"}
2026-11-09T18:28:04+01: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":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:27:33+01:00","run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:27:32+01:00","run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.465,"exec_milliseconds":1465,"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":91676,"important":true,"run_id":"20261109_182804_febe43ab"}
2026-11-09T18:29:02+01: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":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:28:35+01:00","run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:28:34+01:00","run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":91676,"important":true,"run_id":"20261109_182902_9be3277f"}
2026-11-09T18:30:26+01: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":"20261109_183026_6c98969e"}
2026-11-09T18:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:26+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:26+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:29:35+01:00","run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:29:34+01:00","run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:30:27+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":91676,"important":true,"run_id":"20261109_183026_6c98969e"}
2026-11-09T18:31:02+01: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":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:30:37+01:00","run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:30:36+01:00","run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.398,"exec_milliseconds":1398,"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":91676,"important":true,"run_id":"20261109_183102_5ab337a8"}
2026-11-09T18:32:03+01: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":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:31:37+01:00","run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:31:36+01:00","run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"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":91676,"important":true,"run_id":"20261109_183203_9bca2da7"}
2026-11-09T18:33:02+01: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":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:32:39+01:00","run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:32:37+01:00","run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.376,"exec_milliseconds":1376,"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":91676,"important":true,"run_id":"20261109_183302_499a30fa"}
2026-11-09T18:34:04+01: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":"20261109_183404_06a4e934"}
2026-11-09T18:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:33:41+01:00","run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:33:39+01:00","run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.291,"exec_milliseconds":1291,"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":91676,"important":true,"run_id":"20261109_183404_06a4e934"}
2026-11-09T18:35:07+01: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":"20261109_183507_95bb30fe"}
2026-11-09T18:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:34:41+01:00","run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:34:39+01:00","run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.39,"exec_milliseconds":1390,"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":91676,"important":true,"run_id":"20261109_183507_95bb30fe"}
2026-11-09T18:36:04+01: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":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:35:41+01:00","run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:35:40+01:00","run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.415,"exec_milliseconds":1415,"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":91676,"important":true,"run_id":"20261109_183604_b7cceb50"}
2026-11-09T18:37:03+01: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":"20261109_183703_3164881b"}
2026-11-09T18:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:36:43+01:00","run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:36:42+01:00","run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"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":91676,"important":true,"run_id":"20261109_183703_3164881b"}
2026-11-09T18:38:04+01: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":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:37:43+01:00","run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:37:42+01:00","run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":91676,"important":true,"run_id":"20261109_183804_917d2469"}
2026-11-09T18:39:02+01: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":"20261109_183902_3c9c9416"}
2026-11-09T18:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:38:45+01:00","run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:38:44+01:00","run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:39:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":91676,"important":true,"run_id":"20261109_183902_3c9c9416"}
2026-11-09T18:40:12+01: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":"20261109_184012_8944a39c"}
2026-11-09T18:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:39:45+01:00","run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:39:44+01:00","run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.376,"exec_milliseconds":1376,"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":91676,"important":true,"run_id":"20261109_184012_8944a39c"}
2026-11-09T18:41:02+01: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":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:40:47+01:00","run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:40:46+01:00","run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":91676,"important":true,"run_id":"20261109_184102_dd372534"}
2026-11-09T18:42:04+01: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":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:41:48+01:00","run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:41:46+01:00","run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.444,"duration_milliseconds":444,"important":true,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"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":91676,"important":true,"run_id":"20261109_184203_f8c4d316"}
2026-11-09T18:43:02+01: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":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:42:50+01:00","run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:42:48+01:00","run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"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":91676,"important":true,"run_id":"20261109_184302_88b07d2f"}
2026-11-09T18:44:04+01: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":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:43:50+01:00","run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:43:48+01:00","run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.297,"exec_milliseconds":1297,"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":91676,"important":true,"run_id":"20261109_184403_a2bb4253"}
2026-11-09T18:45:15+01: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":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:44:52+01:00","run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:44:50+01:00","run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:45:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.363,"exec_milliseconds":1363,"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":91676,"important":true,"run_id":"20261109_184515_4a02aea6"}
2026-11-09T18:46:04+01: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":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:45:52+01:00","run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:45:50+01:00","run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.398,"exec_milliseconds":1398,"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":91676,"important":true,"run_id":"20261109_184603_0662648d"}
2026-11-09T18:47:02+01: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":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:46:53+01:00","run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:46:52+01:00","run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"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":91676,"important":true,"run_id":"20261109_184702_ccc269dd"}
2026-11-09T18:48:04+01: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":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:47:53+01:00","run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:47:52+01:00","run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184804_00473451"}
2026-11-09T18:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.382,"exec_milliseconds":1382,"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":91676,"important":true,"run_id":"20261109_184804_00473451"}
2026-11-09T18:49:02+01: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":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:48:55+01:00","run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:48:54+01:00","run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.299,"exec_milliseconds":1299,"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":91676,"important":true,"run_id":"20261109_184902_8fc89e8a"}
2026-11-09T18:50:12+01: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":"20261109_185012_9bb9e849"}
2026-11-09T18:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:49:56+01:00","run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:49:54+01:00","run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":91676,"important":true,"run_id":"20261109_185012_9bb9e849"}
2026-11-09T18:51:02+01: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":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:50:57+01:00","run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:50:56+01:00","run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.466,"exec_milliseconds":1466,"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":91676,"important":true,"run_id":"20261109_185102_65ae65bb"}
2026-11-09T18:52:03+01: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":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:51:57+01:00","run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:51:56+01:00","run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.286,"exec_milliseconds":1286,"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":91676,"important":true,"run_id":"20261109_185203_d37663a5"}
2026-11-09T18:53:02+01: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":"20261109_185302_655afe63"}
2026-11-09T18:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:53:00+01:00","run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:52:58+01:00","run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"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":91676,"important":true,"run_id":"20261109_185302_655afe63"}
2026-11-09T18:54:04+01: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":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:54:00+01:00","run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:53:58+01:00","run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":91676,"important":true,"run_id":"20261109_185404_6b649487"}
2026-11-09T18:55:07+01: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":"20261109_185507_647cbaf7"}
2026-11-09T18:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:55:03+01:00","run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:55:00+01:00","run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":91676,"important":true,"run_id":"20261109_185507_647cbaf7"}
2026-11-09T18:56:03+01: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":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:56:01+01:00","run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:56:00+01:00","run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.314,"exec_milliseconds":1314,"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":91676,"important":true,"run_id":"20261109_185603_25ac7d7f"}
2026-11-09T18:57:02+01: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":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:56:01+01:00","run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:57:02+01:00","run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":91676,"important":true,"run_id":"20261109_185702_b8547774"}
2026-11-09T18:58:04+01: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":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:58:04+01:00","run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:58:02+01:00","run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.406,"exec_milliseconds":1406,"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":91676,"important":true,"run_id":"20261109_185803_073d46cc"}
2026-11-09T18:59:02+01: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":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T18:58:04+01:00","run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T18:58:02+01:00","run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_185902_035ff94f"}
2026-11-09T18:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.423,"exec_milliseconds":1423,"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":91676,"important":true,"run_id":"20261109_185902_035ff94f"}
2026-11-09T19:00:36+01: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":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:36+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T19:00:05+01:00","run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T19:00:04+01:00","run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.387,"exec_milliseconds":1387,"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":91676,"important":true,"run_id":"20261109_190036_d247c453"}
2026-11-09T19:01:02+01: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":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5831,"mtime":"2026-11-09T19:00:05+01:00","run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5338,"mtime":"2026-11-09T19:00:04+01:00","run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91676,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"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":91676,"important":true,"run_id":"20261109_190102_28b298d4"}
2026-11-09T19:02:04+01: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":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5432,"mtime":"2026-11-09T19:01:29+01:00","run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4938,"mtime":"2026-11-09T19:01:28+01:00","run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88059,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":88059,"important":true,"run_id":"20261109_190204_d761a994"}
2026-11-09T19:03:03+01: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":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5432,"mtime":"2026-11-09T19:02:31+01:00","run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4938,"mtime":"2026-11-09T19:02:30+01:00","run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88059,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.396,"exec_milliseconds":1396,"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":88059,"important":true,"run_id":"20261109_190303_c267eb2b"}
2026-11-09T19:04:04+01: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":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5432,"mtime":"2026-11-09T19:03:31+01:00","run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4938,"mtime":"2026-11-09T19:03:30+01:00","run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88059,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":88059,"important":true,"run_id":"20261109_190404_b0cf91cb"}
2026-11-09T19:05:08+01: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":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5432,"mtime":"2026-11-09T19:04:33+01:00","run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4938,"mtime":"2026-11-09T19:04:32+01:00","run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88059,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"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":88059,"important":true,"run_id":"20261109_190508_2ba9d149"}
2026-11-09T19:06:04+01: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":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":5432,"mtime":"2026-11-09T19:05:33+01:00","run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4938,"mtime":"2026-11-09T19:05:32+01:00","run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88059,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"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":88059,"important":true,"run_id":"20261109_190604_79f75826"}
2026-11-09T19:07:02+01: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":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:06:47+01:00","run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:06:45+01:00","run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.399,"exec_milliseconds":1399,"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":78292,"important":true,"run_id":"20261109_190702_619420f2"}
2026-11-09T19:08:04+01: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":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:07:47+01:00","run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:07:46+01:00","run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.441,"exec_milliseconds":1441,"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":78292,"important":true,"run_id":"20261109_190804_b11240d4"}
2026-11-09T19:09:02+01: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":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:08:49+01:00","run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:08:47+01:00","run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.378,"exec_milliseconds":1378,"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":78292,"important":true,"run_id":"20261109_190902_0c8364a1"}
2026-11-09T19:10:12+01: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":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:09:49+01:00","run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:09:47+01:00","run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":78292,"important":true,"run_id":"20261109_191012_a15ff4bc"}
2026-11-09T19:11:02+01: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":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:10:51+01:00","run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:10:49+01:00","run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":78292,"important":true,"run_id":"20261109_191102_76c27c36"}
2026-11-09T19:12:04+01: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":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:11:51+01:00","run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:11:49+01:00","run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":78292,"important":true,"run_id":"20261109_191204_90c0fe37"}
2026-11-09T19:13:02+01: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":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:12:53+01:00","run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:12:51+01:00","run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.437,"exec_milliseconds":1437,"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":78292,"important":true,"run_id":"20261109_191302_4b613437"}
2026-11-09T19:14:04+01: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":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:13:53+01:00","run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:13:51+01:00","run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"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":78292,"important":true,"run_id":"20261109_191404_bdb9ac16"}
2026-11-09T19:15:14+01: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":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:14:55+01:00","run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:14:53+01:00","run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":78292,"important":true,"run_id":"20261109_191514_a8b4bea1"}
2026-11-09T19:16:04+01: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":"20261109_191604_0b66afb6"}
2026-11-09T19:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:15:54+01:00","run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:15:53+01:00","run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":78292,"important":true,"run_id":"20261109_191604_0b66afb6"}
2026-11-09T19:17:02+01: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":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:16:56+01:00","run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:16:55+01:00","run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"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":78292,"important":true,"run_id":"20261109_191702_3f77c8c5"}
2026-11-09T19:18:04+01: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":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:17:56+01:00","run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:17:55+01:00","run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":78292,"important":true,"run_id":"20261109_191804_a9905e8d"}
2026-11-09T19:19:02+01: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":"20261109_191902_c9100a89"}
2026-11-09T19:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:18:58+01:00","run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:18:57+01:00","run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":78292,"important":true,"run_id":"20261109_191902_c9100a89"}
2026-11-09T19:20:12+01: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":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:19:58+01:00","run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:19:57+01:00","run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192012_22168125"}
2026-11-09T19:20:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"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":78292,"important":true,"run_id":"20261109_192012_22168125"}
2026-11-09T19:21:02+01: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":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:21:00+01:00","run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:20:59+01:00","run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.383,"exec_milliseconds":1383,"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":78292,"important":true,"run_id":"20261109_192102_77dbcc2c"}
2026-11-09T19:22:04+01: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":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:22:00+01:00","run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:21:59+01:00","run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.493,"duration_milliseconds":493,"important":true,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"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":78292,"important":true,"run_id":"20261109_192204_b538393b"}
2026-11-09T19:23:02+01: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":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:23:02+01:00","run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:23:01+01:00","run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.398,"exec_milliseconds":1398,"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":78292,"important":true,"run_id":"20261109_192302_0aec6c32"}
2026-11-09T19:24:04+01: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":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:24:04+01:00","run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:24:03+01:00","run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.432,"exec_milliseconds":1432,"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":78292,"important":true,"run_id":"20261109_192404_5c24ca81"}
2026-11-09T19:25:07+01: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":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:25:05+01:00","run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:25:03+01:00","run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:25:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"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":78292,"important":true,"run_id":"20261109_192507_de5f28f0"}
2026-11-09T19:26:04+01: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":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:25:05+01:00","run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:26:03+01:00","run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.293,"exec_milliseconds":1293,"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":78292,"important":true,"run_id":"20261109_192603_52e233a3"}
2026-11-09T19:27:02+01: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":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:26:05+01:00","run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:26:03+01:00","run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":78292,"important":true,"run_id":"20261109_192702_ea946ac8"}
2026-11-09T19:28:04+01: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":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:27:07+01:00","run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:27:05+01:00","run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.437,"exec_milliseconds":1437,"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":78292,"important":true,"run_id":"20261109_192804_d21c2071"}
2026-11-09T19:29:02+01: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":"20261109_192902_eb659a9d"}
2026-11-09T19:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:28:07+01:00","run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:28:05+01:00","run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"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":78292,"important":true,"run_id":"20261109_192902_eb659a9d"}
2026-11-09T19:30:26+01: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":"20261109_193026_70e90868"}
2026-11-09T19:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:30:08+01:00","run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:30:07+01:00","run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:30:27+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"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":78292,"important":true,"run_id":"20261109_193026_70e90868"}
2026-11-09T19:31:03+01: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":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:30:08+01:00","run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:30:07+01:00","run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.426,"exec_milliseconds":1426,"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":78292,"important":true,"run_id":"20261109_193103_798ff209"}
2026-11-09T19:32:04+01: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":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:31:10+01:00","run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:31:09+01:00","run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"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":78292,"important":true,"run_id":"20261109_193204_cb74bd49"}
2026-11-09T19:33:03+01: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":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:32:10+01:00","run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:32:09+01:00","run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":78292,"important":true,"run_id":"20261109_193303_1a2d5c4f"}
2026-11-09T19:34:03+01: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":"20261109_193403_226fe061"}
2026-11-09T19:34:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:33:12+01:00","run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:33:11+01:00","run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":78292,"important":true,"run_id":"20261109_193403_226fe061"}
2026-11-09T19:35:08+01: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":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:34:12+01:00","run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:34:11+01:00","run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:35:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"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":78292,"important":true,"run_id":"20261109_193507_50daf72e"}
2026-11-09T19:36:04+01: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":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:35:14+01:00","run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:35:13+01:00","run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"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":78292,"important":true,"run_id":"20261109_193604_5c0558d7"}
2026-11-09T19:37:02+01: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":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:36:16+01:00","run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:36:14+01:00","run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.298,"exec_milliseconds":1298,"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":78292,"important":true,"run_id":"20261109_193702_1ed68d5e"}
2026-11-09T19:38:04+01: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":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:37:16+01:00","run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:37:14+01:00","run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"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":78292,"important":true,"run_id":"20261109_193804_90407b84"}
2026-11-09T19:39:02+01: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":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:38:18+01:00","run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:38:16+01:00","run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.447,"exec_milliseconds":1447,"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":78292,"important":true,"run_id":"20261109_193902_db35b50a"}
2026-11-09T19:40:12+01: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":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:39:17+01:00","run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:39:16+01:00","run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:40:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"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":78292,"important":true,"run_id":"20261109_194012_f31fc92c"}
2026-11-09T19:41:02+01: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":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:40:20+01:00","run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:40:18+01:00","run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":78292,"important":true,"run_id":"20261109_194102_bef1d967"}
2026-11-09T19:42:04+01: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":"20261109_194204_ee994974"}
2026-11-09T19:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:41:19+01:00","run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:41:18+01:00","run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":78292,"important":true,"run_id":"20261109_194204_ee994974"}
2026-11-09T19:43:03+01: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":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:42:21+01:00","run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:42:20+01:00","run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.289,"exec_milliseconds":1289,"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":78292,"important":true,"run_id":"20261109_194302_34b7b110"}
2026-11-09T19:44:03+01: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":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:43:22+01:00","run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:43:20+01:00","run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.492,"duration_milliseconds":492,"important":true,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":78292,"important":true,"run_id":"20261109_194403_1a7f0e5f"}
2026-11-09T19:45:15+01: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":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:44:24+01:00","run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:44:22+01:00","run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:45:17+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.421,"exec_milliseconds":1421,"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":78292,"important":true,"run_id":"20261109_194515_3ab3b90c"}
2026-11-09T19:46:03+01: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":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:45:25+01:00","run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:45:22+01:00","run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"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":78292,"important":true,"run_id":"20261109_194603_67ec7760"}
2026-11-09T19:47:03+01: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":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:46:26+01:00","run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:46:24+01:00","run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"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":78292,"important":true,"run_id":"20261109_194703_7ba694e8"}
2026-11-09T19:48:04+01: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":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:47:26+01:00","run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:47:25+01:00","run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78292,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"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":78292,"important":true,"run_id":"20261109_194804_70a0f7c8"}
2026-11-09T19:49:02+01: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":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:48:35+01:00","run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:48:33+01:00","run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78756,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":78756,"important":true,"run_id":"20261109_194902_550ee84e"}
2026-11-09T19:50:12+01: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":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:49:35+01:00","run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:49:34+01:00","run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.492,"duration_milliseconds":492,"important":true,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78889,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":78889,"important":true,"run_id":"20261109_195012_cad2a2a4"}
2026-11-09T19:51:02+01: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":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:50:37+01:00","run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:50:36+01:00","run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78889,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":78889,"important":true,"run_id":"20261109_195102_1d639e09"}
2026-11-09T19:52:03+01: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":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:51:37+01:00","run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:51:36+01:00","run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78889,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":78889,"important":true,"run_id":"20261109_195203_fbb429bb"}
2026-11-09T19:53:02+01: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":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:52:39+01:00","run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:52:38+01:00","run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.506,"duration_milliseconds":506,"important":true,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78889,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.387,"exec_milliseconds":1387,"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":78889,"important":true,"run_id":"20261109_195302_2af2ab8a"}
2026-11-09T19:54:04+01: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":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4342,"mtime":"2026-11-09T19:53:39+01:00","run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4002,"mtime":"2026-11-09T19:53:38+01:00","run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78889,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"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":78889,"important":true,"run_id":"20261109_195404_f31ac7f9"}
2026-11-09T19:55:07+01: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":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:54:49+01:00","run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3868,"mtime":"2026-11-09T19:54:47+01:00","run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77688,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:55:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":77688,"important":true,"run_id":"20261109_195507_1419c094"}
2026-11-09T19:56:03+01: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":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:55:51+01:00","run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3868,"mtime":"2026-11-09T19:55:49+01:00","run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77688,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":77688,"important":true,"run_id":"20261109_195603_0b0f42a7"}
2026-11-09T19:57:03+01: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":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:56:51+01:00","run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3868,"mtime":"2026-11-09T19:56:49+01:00","run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77688,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":77688,"important":true,"run_id":"20261109_195703_0cfdf5ed"}
2026-11-09T19:58:04+01: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":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:57:51+01:00","run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3868,"mtime":"2026-11-09T19:57:50+01:00","run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77688,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"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":77688,"important":true,"run_id":"20261109_195804_9c1b0fb7"}
2026-11-09T19:59:02+01: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":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:58:53+01:00","run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3868,"mtime":"2026-11-09T19:58:52+01:00","run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77688,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T19:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"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":77688,"important":true,"run_id":"20261109_195902_6ed3bedb"}
2026-11-09T20:00:37+01: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":"20261109_200037_0f69951c"}
2026-11-09T20:00:37+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:37+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:37+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T19:59:54+01:00","run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3869,"mtime":"2026-11-09T19:59:52+01:00","run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":77689,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:00:38+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"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":77689,"important":true,"run_id":"20261109_200037_0f69951c"}
2026-11-09T20:01:03+01: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":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:00:59+01:00","run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":3942,"mtime":"2026-11-09T20:00:57+01:00","run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":0,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.499,"duration_milliseconds":499,"important":true,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":78008,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.419,"exec_milliseconds":1419,"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":78008,"important":true,"run_id":"20261109_200103_0de01639"}
2026-11-09T20:02:04+01: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":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:02:01+01:00","run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4537,"mtime":"2026-11-09T20:02:00+01:00","run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":2,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":80499,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.419,"exec_milliseconds":1419,"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":80499,"important":true,"run_id":"20261109_200204_3220aefa"}
2026-11-09T20:03:02+01: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":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:02:52+01:00","run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":4776,"mtime":"2026-11-09T20:02:50+01:00","run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":0,"rb":2,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":81504,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":81504,"important":true,"run_id":"20261109_200302_46867a63"}
2026-11-09T20:04:04+01: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":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:04:02+01:00","run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5205,"mtime":"2026-11-09T20:04:01+01:00","run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":6,"rb":2,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":83205,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.35,"exec_milliseconds":1350,"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":83205,"important":true,"run_id":"20261109_200404_76ceca02"}
2026-11-09T20:05:08+01: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":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:05:08+01:00","run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5651,"mtime":"2026-11-09T20:05:07+01:00","run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":8,"rb":7,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":84997,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"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":84997,"important":true,"run_id":"20261109_200508_4dfec0f8"}
2026-11-09T20:06:04+01: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":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:06:04+01:00","run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6328,"mtime":"2026-11-09T20:06:03+01:00","run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":8,"rb":9,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":87828,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":87828,"important":true,"run_id":"20261109_200604_87563c1a"}
2026-11-09T20:07:02+01: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":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:06:51+01:00","run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6768,"mtime":"2026-11-09T20:06:49+01:00","run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":8,"rb":12,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":89652,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":89652,"important":true,"run_id":"20261109_200702_e7846e8e"}
2026-11-09T20:08:04+01: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":"20261109_200804_c7cb9616"}
2026-11-09T20:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:07:55+01:00","run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7440,"mtime":"2026-11-09T20:07:53+01:00","run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":8,"rb":15,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":92470,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"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":92470,"important":true,"run_id":"20261109_200804_c7cb9616"}
2026-11-09T20:09:02+01: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":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:09:00+01:00","run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8035,"mtime":"2026-11-09T20:08:59+01:00","run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":18,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":94911,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.432,"exec_milliseconds":1432,"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":94911,"important":true,"run_id":"20261109_200902_eb29c5f7"}
2026-11-09T20:10:12+01: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":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:10:09+01:00","run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8529,"mtime":"2026-11-09T20:10:07+01:00","run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":19,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97011,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":97011,"important":true,"run_id":"20261109_201012_42c9a4dd"}
2026-11-09T20:11:02+01: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":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:10:56+01:00","run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8947,"mtime":"2026-11-09T20:10:55+01:00","run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":21,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":98789,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":98789,"important":true,"run_id":"20261109_201102_1334bd5e"}
2026-11-09T20:12:04+01: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":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4211,"mtime":"2026-11-09T20:12:03+01:00","run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9649,"mtime":"2026-11-09T20:12:01+01:00","run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":22,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":101827,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"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":101827,"important":true,"run_id":"20261109_201204_eda9c695"}
2026-11-09T20:13:02+01: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":"20261109_201302_1048f543"}
2026-11-09T20:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:12:59+01:00","run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9909,"mtime":"2026-11-09T20:12:57+01:00","run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":24,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":102932,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:13:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"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":102932,"important":true,"run_id":"20261109_201302_1048f543"}
2026-11-09T20:14:03+01: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":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:13:49+01:00","run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10065,"mtime":"2026-11-09T20:13:47+01:00","run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":12,"rb":24,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103596,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"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":103596,"important":true,"run_id":"20261109_201403_48889fbf"}
2026-11-09T20:15:15+01: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":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:15:15+01:00","run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11034,"mtime":"2026-11-09T20:15:13+01:00","run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":14,"rb":24,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":107707,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"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":107707,"important":true,"run_id":"20261109_201515_b056a9ac"}
2026-11-09T20:16:03+01: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":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:15:54+01:00","run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201603_4a065287"}
2026-11-09T20:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11268,"mtime":"2026-11-09T20:15:53+01:00","run_id":"20261109_201603_4a065287"}
2026-11-09T20:17:03+01: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":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:17:04+01:00","run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11866,"mtime":"2026-11-09T20:17:03+01:00","run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":16,"rb":24,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":111251,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"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":111251,"important":true,"run_id":"20261109_201703_56f69c7f"}
2026-11-09T20:18:04+01: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":"20261109_201804_2973d6da"}
2026-11-09T20:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:17:55+01:00","run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12479,"mtime":"2026-11-09T20:17:53+01:00","run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":16,"rb":24,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":113880,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.392,"exec_milliseconds":1392,"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":113880,"important":true,"run_id":"20261109_201804_2973d6da"}
2026-11-09T20:19:02+01: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":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:19:03+01:00","run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13094,"mtime":"2026-11-09T20:19:01+01:00","run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":16,"rb":30,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":116465,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":116465,"important":true,"run_id":"20261109_201902_fa33ffb8"}
2026-11-09T20:20:12+01: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":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:20:00+01:00","run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13427,"mtime":"2026-11-09T20:19:59+01:00","run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":18,"rb":32,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":117842,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.344,"exec_milliseconds":1344,"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":117842,"important":true,"run_id":"20261109_202012_1a5e9d63"}
2026-11-09T20:21:02+01: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":"20261109_202102_ecce79fc"}
2026-11-09T20:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:20:26+01:00","run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13650,"mtime":"2026-11-09T20:20:25+01:00","run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":18,"rb":32,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":118815,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"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":118815,"important":true,"run_id":"20261109_202102_ecce79fc"}
2026-11-09T20:22:03+01: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":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:21:28+01:00","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13650,"mtime":"2026-11-09T20:21:27+01:00","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [WARN] Scout JSON decode failed {"spiel_id":2006864,"file":"2006864.JSN","error":"empty payload","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":1.025,"duration_milliseconds":1025,"important":true,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":58132,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:22:05+01:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":1.867,"exec_milliseconds":1867,"live_games":1,"fallback_games":0,"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":58132,"important":true,"run_id":"20261109_202203_1acabecc"}
2026-11-09T20:23:02+01: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":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:22:44+01:00","run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5034,"mtime":"2026-11-09T20:22:42+01:00","run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":18,"rb":32,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":81767,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":81767,"important":true,"run_id":"20261109_202302_8b45dbc4"}
2026-11-09T20:24:04+01: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":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:24:04+01:00","run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5299,"mtime":"2026-11-09T20:24:02+01:00","run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":20,"rb":32,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":82888,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"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":82888,"important":true,"run_id":"20261109_202404_6b794de9"}
2026-11-09T20:25:07+01: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":"20261109_202507_bd0c0108"}
2026-11-09T20:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:24:58+01:00","run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":5743,"mtime":"2026-11-09T20:24:56+01:00","run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":20,"rb":34,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":84774,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.462,"exec_milliseconds":1462,"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":84774,"important":true,"run_id":"20261109_202507_bd0c0108"}
2026-11-09T20:26:03+01: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":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4212,"mtime":"2026-11-09T20:25:59+01:00","run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6111,"mtime":"2026-11-09T20:25:58+01:00","run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":22,"rb":35,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":86330,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":86330,"important":true,"run_id":"20261109_202603_8ad9ce7a"}
2026-11-09T20:27:02+01: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":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:27:01+01:00","run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6673,"mtime":"2026-11-09T20:27:00+01:00","run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":28,"rb":36,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88699,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"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":88699,"important":true,"run_id":"20261109_202702_2b3c82b1"}
2026-11-09T20:28:04+01: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":"20261109_202804_ba6119b5"}
2026-11-09T20:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:28:01+01:00","run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6673,"mtime":"2026-11-09T20:28:00+01:00","run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":28,"rb":36,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.494,"duration_milliseconds":494,"important":true,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":88699,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.388,"exec_milliseconds":1388,"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":88699,"important":true,"run_id":"20261109_202804_ba6119b5"}
2026-11-09T20:29:03+01: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":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:29:01+01:00","run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7093,"mtime":"2026-11-09T20:29:00+01:00","run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":28,"rb":38,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":90479,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.293,"exec_milliseconds":1293,"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":90479,"important":true,"run_id":"20261109_202903_1b1b2652"}
2026-11-09T20:30:25+01: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":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:26+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:30:21+01:00","run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7918,"mtime":"2026-11-09T20:30:19+01:00","run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":30,"rb":41,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":94004,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:30:27+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"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":94004,"important":true,"run_id":"20261109_203025_a04cb5d2"}
2026-11-09T20:31:02+01: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":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:31:02+01:00","run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8310,"mtime":"2026-11-09T20:31:01+01:00","run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":30,"rb":41,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95666,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":95666,"important":true,"run_id":"20261109_203102_c4b1052b"}
2026-11-09T20:32:03+01: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":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:31:52+01:00","run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8949,"mtime":"2026-11-09T20:31:51+01:00","run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":30,"rb":43,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":98407,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.298,"exec_milliseconds":1298,"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":98407,"important":true,"run_id":"20261109_203203_18dca8a4"}
2026-11-09T20:33:02+01: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":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:33:00+01:00","run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9485,"mtime":"2026-11-09T20:33:03+01:00","run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":30,"rb":43,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":100709,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.421,"exec_milliseconds":1421,"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":100709,"important":true,"run_id":"20261109_203302_c72e0cbc"}
2026-11-09T20:34:03+01: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":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:34:01+01:00","run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9861,"mtime":"2026-11-09T20:33:59+01:00","run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":33,"rb":46,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":102285,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":102285,"important":true,"run_id":"20261109_203403_14938fbc"}
2026-11-09T20:35:07+01: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":"20261109_203507_4f569e78"}
2026-11-09T20:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:35:03+01:00","run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10242,"mtime":"2026-11-09T20:35:01+01:00","run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":33,"rb":46,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.5,"duration_milliseconds":500,"important":true,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103924,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.377,"exec_milliseconds":1377,"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":103924,"important":true,"run_id":"20261109_203507_4f569e78"}
2026-11-09T20:36:04+01: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":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:36:03+01:00","run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10738,"mtime":"2026-11-09T20:36:02+01:00","run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":35,"rb":46,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":106034,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":106034,"important":true,"run_id":"20261109_203603_84ce8115"}
2026-11-09T20:37:02+01: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":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:37:03+01:00","run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11025,"mtime":"2026-11-09T20:37:02+01:00","run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":37,"rb":46,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":107251,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"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":107251,"important":true,"run_id":"20261109_203702_191193e7"}
2026-11-09T20:38:03+01: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":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:37:57+01:00","run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11588,"mtime":"2026-11-09T20:37:56+01:00","run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":39,"rb":46,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":109666,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"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":109666,"important":true,"run_id":"20261109_203803_2de8458a"}
2026-11-09T20:39:02+01: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":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:39:01+01:00","run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12028,"mtime":"2026-11-09T20:39:00+01:00","run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":39,"rb":48,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":111544,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"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":111544,"important":true,"run_id":"20261109_203902_def8e432"}
2026-11-09T20:40:12+01: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":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:40:04+01:00","run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12573,"mtime":"2026-11-09T20:40:12+01:00","run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":39,"rb":48,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":113863,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":113863,"important":true,"run_id":"20261109_204012_6f9e3b78"}
2026-11-09T20:41:02+01: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":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:40:46+01:00","run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13019,"mtime":"2026-11-09T20:41:03+01:00","run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":39,"rb":48,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":115805,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"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":115805,"important":true,"run_id":"20261109_204102_5e301664"}
2026-11-09T20:42:03+01: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":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:41:32+01:00","run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13574,"mtime":"2026-11-09T20:42:03+01:00","run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":40,"rb":48,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":118200,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.288,"exec_milliseconds":1288,"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":118200,"important":true,"run_id":"20261109_204203_94f8851f"}
2026-11-09T20:43:02+01: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":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:43:03+01:00","run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14055,"mtime":"2026-11-09T20:43:02+01:00","run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":42,"rb":51,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":120221,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.384,"exec_milliseconds":1384,"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":120221,"important":true,"run_id":"20261109_204302_fd15afab"}
2026-11-09T20:44:03+01: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":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:43:57+01:00","run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14821,"mtime":"2026-11-09T20:43:56+01:00","run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":51,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123461,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":123461,"important":true,"run_id":"20261109_204403_5c6a5447"}
2026-11-09T20:45:14+01: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":"20261109_204514_e915a333"}
2026-11-09T20:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:44:57+01:00","run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14821,"mtime":"2026-11-09T20:44:56+01:00","run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":51,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.446,"duration_milliseconds":446,"important":true,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123461,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.291,"exec_milliseconds":1291,"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":123461,"important":true,"run_id":"20261109_204514_e915a333"}
2026-11-09T20:46:03+01: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":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:46:04+01:00","run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15235,"mtime":"2026-11-09T20:46:02+01:00","run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125227,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"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":125227,"important":true,"run_id":"20261109_204603_83f84190"}
2026-11-09T20:47:02+01: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":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:46:08+01:00","run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:46:06+01:00","run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"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":125527,"important":true,"run_id":"20261109_204702_1139c1e6"}
2026-11-09T20:48:04+01: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":"20261109_204804_288eb85a"}
2026-11-09T20:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:47:08+01:00","run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:47:06+01:00","run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"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":125527,"important":true,"run_id":"20261109_204804_288eb85a"}
2026-11-09T20:49:03+01: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":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:48:10+01:00","run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:48:08+01:00","run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.525,"duration_milliseconds":525,"important":true,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.492,"exec_milliseconds":1492,"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":125527,"important":true,"run_id":"20261109_204903_01a69b51"}
2026-11-09T20:50:12+01: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":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:50:12+01:00","run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:50:10+01:00","run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"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":125527,"important":true,"run_id":"20261109_205012_dea48eb0"}
2026-11-09T20:51:02+01: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":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:50:12+01:00","run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:50:10+01:00","run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"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":125527,"important":true,"run_id":"20261109_205102_0b608656"}
2026-11-09T20:52:04+01: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":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:51:12+01:00","run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:51:10+01:00","run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"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":125527,"important":true,"run_id":"20261109_205204_ef9d77f3"}
2026-11-09T20:53:02+01: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":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:52:14+01:00","run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:52:12+01:00","run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.434,"exec_milliseconds":1434,"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":125527,"important":true,"run_id":"20261109_205302_2db422ec"}
2026-11-09T20:54:04+01: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":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:53:14+01:00","run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:53:13+01:00","run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.394,"exec_milliseconds":1394,"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":125527,"important":true,"run_id":"20261109_205403_6f5a23fe"}
2026-11-09T20:55:07+01: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":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:54:15+01:00","run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:54:13+01:00","run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.5,"duration_milliseconds":500,"important":true,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.443,"exec_milliseconds":1443,"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":125527,"important":true,"run_id":"20261109_205507_8bfbb7bd"}
2026-11-09T20:56:04+01: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":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:55:17+01:00","run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:55:15+01:00","run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"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":125527,"important":true,"run_id":"20261109_205603_fffeb7de"}
2026-11-09T20:57:02+01: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":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:56:17+01:00","run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:56:15+01:00","run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.389,"exec_milliseconds":1389,"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":125527,"important":true,"run_id":"20261109_205702_4ea2bd8a"}
2026-11-09T20:58:03+01: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":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:57:19+01:00","run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:57:18+01:00","run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"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":125527,"important":true,"run_id":"20261109_205803_0f17e056"}
2026-11-09T20:59:02+01: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":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T20:58:19+01:00","run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T20:58:17+01:00","run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T20:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":125527,"important":true,"run_id":"20261109_205902_7f0076bd"}
2026-11-09T21:00:34+01: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":"20261109_210034_24c15e6a"}
2026-11-09T21:00:34+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:34+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:34+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:00:21+01:00","run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T21:00:19+01:00","run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:00:35+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":125527,"important":true,"run_id":"20261109_210034_24c15e6a"}
2026-11-09T21:01:03+01: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":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:00:21+01:00","run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15298,"mtime":"2026-11-09T21:00:19+01:00","run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":53,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125527,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.377,"exec_milliseconds":1377,"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":125527,"important":true,"run_id":"20261109_210102_bbb51359"}
2026-11-09T21:02:04+01: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":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:01:46+01:00","run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6049,"mtime":"2026-11-09T21:01:44+01:00","run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":46,"rb":56,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":85703,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"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":85703,"important":true,"run_id":"20261109_210204_22978c94"}
2026-11-09T21:03:02+01: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":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:03:00+01:00","run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6578,"mtime":"2026-11-09T21:03:03+01:00","run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":48,"rb":56,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":87936,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":87936,"important":true,"run_id":"20261109_210302_058a9eaf"}
2026-11-09T21:04:03+01: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":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:03:51+01:00","run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":6922,"mtime":"2026-11-09T21:03:49+01:00","run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":51,"rb":56,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":89390,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.295,"exec_milliseconds":1295,"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":89390,"important":true,"run_id":"20261109_210403_348b5acc"}
2026-11-09T21:05:07+01: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":"20261109_210507_7c64621f"}
2026-11-09T21:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:05:00+01:00","run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7443,"mtime":"2026-11-09T21:05:07+01:00","run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":51,"rb":58,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91603,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"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":91603,"important":true,"run_id":"20261109_210507_7c64621f"}
2026-11-09T21:06:04+01: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":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:05:58+01:00","run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7827,"mtime":"2026-11-09T21:05:57+01:00","run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":53,"rb":60,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":93199,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"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":93199,"important":true,"run_id":"20261109_210604_1d0f17c7"}
2026-11-09T21:07:02+01: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":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:07:00+01:00","run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8016,"mtime":"2026-11-09T21:06:59+01:00","run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":56,"rb":60,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":93990,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"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":93990,"important":true,"run_id":"20261109_210702_68e8abc0"}
2026-11-09T21:08:04+01: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":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:07:58+01:00","run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8393,"mtime":"2026-11-09T21:07:56+01:00","run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":56,"rb":60,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95621,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"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":95621,"important":true,"run_id":"20261109_210804_48b29d03"}
2026-11-09T21:09:03+01: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":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:08:59+01:00","run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9135,"mtime":"2026-11-09T21:08:58+01:00","run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":56,"rb":60,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.499,"duration_milliseconds":499,"important":true,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":98851,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.396,"exec_milliseconds":1396,"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":98851,"important":true,"run_id":"20261109_210902_d40598f0"}
2026-11-09T21:10:12+01: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":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:10:12+01:00","run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9665,"mtime":"2026-11-09T21:10:11+01:00","run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":63,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":101089,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":101089,"important":true,"run_id":"20261109_211012_26bbd05e"}
2026-11-09T21:11:03+01: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":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:11:03+01:00","run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10604,"mtime":"2026-11-09T21:11:02+01:00","run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":66,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":105130,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.406,"exec_milliseconds":1406,"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":105130,"important":true,"run_id":"20261109_211103_933f6cbf"}
2026-11-09T21:12:04+01: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":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:11:51+01:00","run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11204,"mtime":"2026-11-09T21:11:49+01:00","run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":66,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":107730,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":107730,"important":true,"run_id":"20261109_211204_fa90d643"}
2026-11-09T21:13:02+01: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":"20261109_211302_3439247f"}
2026-11-09T21:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:12:38+01:00","run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11473,"mtime":"2026-11-09T21:12:37+01:00","run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":68,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":108859,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":108859,"important":true,"run_id":"20261109_211302_3439247f"}
2026-11-09T21:14:04+01: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":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:13:28+01:00","run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11806,"mtime":"2026-11-09T21:13:26+01:00","run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":70,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":110286,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"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":110286,"important":true,"run_id":"20261109_211403_ff0f8093"}
2026-11-09T21:15:14+01: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":"20261109_211514_97fabe61"}
2026-11-09T21:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:14:28+01:00","run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11806,"mtime":"2026-11-09T21:14:27+01:00","run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":70,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":110286,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.34,"exec_milliseconds":1340,"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":110286,"important":true,"run_id":"20261109_211514_97fabe61"}
2026-11-09T21:16:03+01: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":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:15:58+01:00","run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12173,"mtime":"2026-11-09T21:15:57+01:00","run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":59,"rb":70,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":111891,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.381,"exec_milliseconds":1381,"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":111891,"important":true,"run_id":"20261109_211603_5438630f"}
2026-11-09T21:17:02+01: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":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:17:02+01:00","run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12740,"mtime":"2026-11-09T21:17:00+01:00","run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":61,"rb":70,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":114314,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"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":114314,"important":true,"run_id":"20261109_211702_7e00be5f"}
2026-11-09T21:18:04+01: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":"20261109_211804_78494237"}
2026-11-09T21:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211804_78494237"}
2026-11-09T21:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:18:04+01:00","run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13108,"mtime":"2026-11-09T21:18:03+01:00","run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":61,"rb":72,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:06+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":115874,"run_id":"20261109_211804_78494237"}
2026-11-09T21:18:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":4.423,"exec_milliseconds":4423,"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":115874,"important":true,"run_id":"20261109_211804_78494237"}
2026-11-09T21:19:02+01: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":"20261109_211902_4b541146"}
2026-11-09T21:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:18:46+01:00","run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13333,"mtime":"2026-11-09T21:18:45+01:00","run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":61,"rb":72,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":116849,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.397,"exec_milliseconds":1397,"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":116849,"important":true,"run_id":"20261109_211902_4b541146"}
2026-11-09T21:20:12+01: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":"20261109_212012_bf276f08"}
2026-11-09T21:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:19:54+01:00","run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14043,"mtime":"2026-11-09T21:20:12+01:00","run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":61,"rb":73,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":119903,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.376,"exec_milliseconds":1376,"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":119903,"important":true,"run_id":"20261109_212012_bf276f08"}
2026-11-09T21:21:02+01: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":"20261109_212102_a460a029"}
2026-11-09T21:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4213,"mtime":"2026-11-09T21:20:57+01:00","run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14341,"mtime":"2026-11-09T21:20:55+01:00","run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":61,"rb":73,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.498,"duration_milliseconds":498,"important":true,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":121201,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:21:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":121201,"important":true,"run_id":"20261109_212102_a460a029"}
2026-11-09T21:22:04+01: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":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:22:01+01:00","run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14968,"mtime":"2026-11-09T21:22:04+01:00","run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":66,"rb":73,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123705,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"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":123705,"important":true,"run_id":"20261109_212204_1fdf75f4"}
2026-11-09T21:23:02+01: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":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:22:09+01:00","run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15041,"mtime":"2026-11-09T21:22:08+01:00","run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":66,"rb":73,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124024,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":124024,"important":true,"run_id":"20261109_212302_ff5d2f21"}
2026-11-09T21:24:03+01: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":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:24:03+01:00","run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15270,"mtime":"2026-11-09T21:24:02+01:00","run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":66,"rb":73,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.494,"duration_milliseconds":494,"important":true,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125007,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"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":125007,"important":true,"run_id":"20261109_212403_22352c04"}
2026-11-09T21:25:07+01: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":"20261109_212507_23ace4d0"}
2026-11-09T21:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:24:59+01:00","run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15761,"mtime":"2026-11-09T21:24:58+01:00","run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":68,"rb":73,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.445,"duration_milliseconds":445,"important":true,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":127104,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":127104,"important":true,"run_id":"20261109_212507_23ace4d0"}
2026-11-09T21:26:04+01: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":"20261109_212604_0c423994"}
2026-11-09T21:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:25:56+01:00","run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16367,"mtime":"2026-11-09T21:25:54+01:00","run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":68,"rb":73,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":129718,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.435,"exec_milliseconds":1435,"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":129718,"important":true,"run_id":"20261109_212604_0c423994"}
2026-11-09T21:27:02+01: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":"20261109_212702_590f82fe"}
2026-11-09T21:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:26:51+01:00","run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16729,"mtime":"2026-11-09T21:26:50+01:00","run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":68,"rb":75,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":131264,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:27:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.282,"exec_milliseconds":1282,"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":131264,"important":true,"run_id":"20261109_212702_590f82fe"}
2026-11-09T21:28:04+01: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":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:27:12+01:00","run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16945,"mtime":"2026-11-09T21:27:10+01:00","run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":68,"rb":75,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132222,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"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":132222,"important":true,"run_id":"20261109_212803_5c45b301"}
2026-11-09T21:29:02+01: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":"20261109_212902_504f46cc"}
2026-11-09T21:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:28:11+01:00","run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16945,"mtime":"2026-11-09T21:28:10+01:00","run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":68,"rb":75,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132222,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"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":132222,"important":true,"run_id":"20261109_212902_504f46cc"}
2026-11-09T21:30:25+01: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":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:30:21+01:00","run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7226,"mtime":"2026-11-09T21:30:20+01:00","run_id":"20261109_213025_33630466"}
2026-11-09T21:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":71,"rb":78,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":90299,"run_id":"20261109_213025_33630466"}
2026-11-09T21:30:27+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"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":90299,"important":true,"run_id":"20261109_213025_33630466"}
2026-11-09T21:31:02+01: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":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:30:45+01:00","run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7376,"mtime":"2026-11-09T21:30:44+01:00","run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":71,"rb":78,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.501,"duration_milliseconds":501,"important":true,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":90949,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.408,"exec_milliseconds":1408,"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":90949,"important":true,"run_id":"20261109_213102_173bdfbe"}
2026-11-09T21:32:04+01: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":"20261109_213204_73bd8536"}
2026-11-09T21:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:31:41+01:00","run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7599,"mtime":"2026-11-09T21:31:40+01:00","run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":71,"rb":78,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91918,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"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":91918,"important":true,"run_id":"20261109_213204_73bd8536"}
2026-11-09T21:33:03+01: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":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:32:51+01:00","run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":7970,"mtime":"2026-11-09T21:32:50+01:00","run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":71,"rb":78,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":93535,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"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":93535,"important":true,"run_id":"20261109_213303_b131aa9c"}
2026-11-09T21:34:03+01: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":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:34:01+01:00","run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8458,"mtime":"2026-11-09T21:33:59+01:00","run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":73,"rb":78,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95625,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"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":95625,"important":true,"run_id":"20261109_213403_1222dfe0"}
2026-11-09T21:35:07+01: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":"20261109_213507_a3c404f8"}
2026-11-09T21:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:35:05+01:00","run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":8944,"mtime":"2026-11-09T21:35:04+01:00","run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":73,"rb":80,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97709,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.388,"exec_milliseconds":1388,"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":97709,"important":true,"run_id":"20261109_213507_a3c404f8"}
2026-11-09T21:36:03+01: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":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:35:39+01:00","run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9349,"mtime":"2026-11-09T21:36:04+01:00","run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":73,"rb":81,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":99454,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":99454,"important":true,"run_id":"20261109_213603_59176be0"}
2026-11-09T21:37:03+01: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":"20261109_213703_396bda1d"}
2026-11-09T21:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:36:44+01:00","run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9709,"mtime":"2026-11-09T21:36:42+01:00","run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":73,"rb":83,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":100994,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"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":100994,"important":true,"run_id":"20261109_213703_396bda1d"}
2026-11-09T21:38:04+01: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":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:37:28+01:00","run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":9933,"mtime":"2026-11-09T21:37:27+01:00","run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":73,"rb":83,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":101964,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.418,"exec_milliseconds":1418,"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":101964,"important":true,"run_id":"20261109_213803_c9387c32"}
2026-11-09T21:39:02+01: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":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:38:53+01:00","run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10037,"mtime":"2026-11-09T21:38:51+01:00","run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":74,"rb":83,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":102408,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.409,"exec_milliseconds":1409,"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":102408,"important":true,"run_id":"20261109_213902_951b7c5b"}
2026-11-09T21:40:12+01: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":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:39:45+01:00","run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10518,"mtime":"2026-11-09T21:39:43+01:00","run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":75,"rb":83,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":104479,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.303,"exec_milliseconds":1303,"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":104479,"important":true,"run_id":"20261109_214012_092130e3"}
2026-11-09T21:41:02+01: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":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:40:50+01:00","run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":10890,"mtime":"2026-11-09T21:40:49+01:00","run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":75,"rb":83,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":106097,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.363,"exec_milliseconds":1363,"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":106097,"important":true,"run_id":"20261109_214102_d5d4703a"}
2026-11-09T21:42:04+01: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":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:41:58+01:00","run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214204_502600f3"}
2026-11-09T21:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11330,"mtime":"2026-11-09T21:41:57+01:00","run_id":"20261109_214204_502600f3"}
2026-11-09T21:43:02+01: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":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:42:58+01:00","run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":11633,"mtime":"2026-11-09T21:43:02+01:00","run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":77,"rb":83,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":109282,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"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":109282,"important":true,"run_id":"20261109_214302_bc5a3130"}
2026-11-09T21:44:04+01: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":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:43:52+01:00","run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12013,"mtime":"2026-11-09T21:43:51+01:00","run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":77,"rb":83,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":110920,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"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":110920,"important":true,"run_id":"20261109_214404_4568bace"}
2026-11-09T21:45:14+01: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":"20261109_214514_7bb3582d"}
2026-11-09T21:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:45:02+01:00","run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12538,"mtime":"2026-11-09T21:45:15+01:00","run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":79,"rb":83,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":113145,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"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":113145,"important":true,"run_id":"20261109_214514_7bb3582d"}
2026-11-09T21:46:03+01: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":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:45:54+01:00","run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":12841,"mtime":"2026-11-09T21:45:53+01:00","run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":79,"rb":83,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":114452,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"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":114452,"important":true,"run_id":"20261109_214603_1f17ba03"}
2026-11-09T21:47:02+01: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":"20261109_214702_11e0c626"}
2026-11-09T21:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:46:37+01:00","run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13027,"mtime":"2026-11-09T21:46:35+01:00","run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":83,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":115236,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.305,"exec_milliseconds":1305,"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":115236,"important":true,"run_id":"20261109_214702_11e0c626"}
2026-11-09T21:48:04+01: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":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:47:49+01:00","run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13102,"mtime":"2026-11-09T21:47:47+01:00","run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":83,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.493,"duration_milliseconds":493,"important":true,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":115561,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.377,"exec_milliseconds":1377,"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":115561,"important":true,"run_id":"20261109_214804_1556ac4a"}
2026-11-09T21:49:02+01: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":"20261109_214902_5e659f31"}
2026-11-09T21:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:48:47+01:00","run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13555,"mtime":"2026-11-09T21:49:03+01:00","run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":83,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":117518,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"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":117518,"important":true,"run_id":"20261109_214902_5e659f31"}
2026-11-09T21:50:12+01: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":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:12+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:50:07+01:00","run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13555,"mtime":"2026-11-09T21:50:05+01:00","run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":83,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":117518,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"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":117518,"important":true,"run_id":"20261109_215012_57d951d6"}
2026-11-09T21:51:02+01: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":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:51:03+01:00","run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13767,"mtime":"2026-11-09T21:51:01+01:00","run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":85,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":118410,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.331,"exec_milliseconds":1331,"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":118410,"important":true,"run_id":"20261109_215102_67fe97e3"}
2026-11-09T21:52:03+01: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":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:51:55+01:00","run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":13995,"mtime":"2026-11-09T21:51:53+01:00","run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":85,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":119392,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":119392,"important":true,"run_id":"20261109_215203_c6f33290"}
2026-11-09T21:53:02+01: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":"20261109_215302_7ab91368"}
2026-11-09T21:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:52:21+01:00","run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215302_7ab91368"}
2026-11-09T21:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14144,"mtime":"2026-11-09T21:52:19+01:00","run_id":"20261109_215302_7ab91368"}
2026-11-09T21:54:04+01: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":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:53:21+01:00","run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14144,"mtime":"2026-11-09T21:53:19+01:00","run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":81,"rb":85,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":120041,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"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":120041,"important":true,"run_id":"20261109_215404_d35d76c3"}
2026-11-09T21:55:08+01: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":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:55:07+01:00","run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14529,"mtime":"2026-11-09T21:55:06+01:00","run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":84,"rb":88,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":121638,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:55:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"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":121638,"important":true,"run_id":"20261109_215508_f4a97dab"}
2026-11-09T21:56:03+01: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":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:55:44+01:00","run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14972,"mtime":"2026-11-09T21:55:42+01:00","run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":84,"rb":88,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123573,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"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":123573,"important":true,"run_id":"20261109_215603_ceb0b652"}
2026-11-09T21:57:02+01: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":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:56:46+01:00","run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":14972,"mtime":"2026-11-09T21:56:45+01:00","run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":84,"rb":88,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123573,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":123573,"important":true,"run_id":"20261109_215702_d4f8580e"}
2026-11-09T21:58:04+01: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":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:57:48+01:00","run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15273,"mtime":"2026-11-09T21:57:46+01:00","run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":84,"rb":88,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124874,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"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":124874,"important":true,"run_id":"20261109_215804_3b66a5c8"}
2026-11-09T21:59:02+01: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":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T21:59:03+01:00","run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15709,"mtime":"2026-11-09T21:59:01+01:00","run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":89,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.492,"duration_milliseconds":492,"important":true,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":126744,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T21:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.394,"exec_milliseconds":1394,"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":126744,"important":true,"run_id":"20261109_215902_0b6f2e8c"}
2026-11-09T22:00:35+01: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":"20261109_220035_43daf7d0"}
2026-11-09T22:00:35+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:35+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:35+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:00:24+01:00","run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":15858,"mtime":"2026-11-09T22:00:22+01:00","run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":89,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:36+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:37+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:37+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":127389,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:00:37+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.39,"exec_milliseconds":1390,"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":127389,"important":true,"run_id":"20261109_220035_43daf7d0"}
2026-11-09T22:01:03+01: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":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:00:59+01:00","run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16081,"mtime":"2026-11-09T22:00:58+01:00","run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":89,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":128362,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.38,"exec_milliseconds":1380,"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":128362,"important":true,"run_id":"20261109_220102_201595ce"}
2026-11-09T22:02:04+01: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":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:01:40+01:00","run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16331,"mtime":"2026-11-09T22:01:38+01:00","run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":90,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":129444,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"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":129444,"important":true,"run_id":"20261109_220204_7af49dc0"}
2026-11-09T22:03:02+01: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":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:02:40+01:00","run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16331,"mtime":"2026-11-09T22:02:38+01:00","run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":90,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":129444,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.285,"exec_milliseconds":1285,"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":129444,"important":true,"run_id":"20261109_220302_0a2f8d27"}
2026-11-09T22:04:03+01: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":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:03:54+01:00","run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16820,"mtime":"2026-11-09T22:04:04+01:00","run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":131535,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"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":131535,"important":true,"run_id":"20261109_220403_6dba36e5"}
2026-11-09T22:05:07+01: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":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:04:34+01:00","run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:04:33+01:00","run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132168,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"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":132168,"important":true,"run_id":"20261109_220507_9621b0d9"}
2026-11-09T22:06:03+01: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":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:05:34+01:00","run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:05:33+01:00","run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132168,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.36,"exec_milliseconds":1360,"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":132168,"important":true,"run_id":"20261109_220603_af7c31ba"}
2026-11-09T22:07:02+01: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":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:06:36+01:00","run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:06:35+01:00","run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132168,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"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":132168,"important":true,"run_id":"20261109_220702_b10c5b68"}
2026-11-09T22:08:04+01: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":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:07:36+01:00","run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:07:35+01:00","run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132168,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"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":132168,"important":true,"run_id":"20261109_220803_3ebd37bf"}
2026-11-09T22:09:02+01: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":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:03+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:08:38+01:00","run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:08:37+01:00","run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132168,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"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":132168,"important":true,"run_id":"20261109_220902_9311622a"}
2026-11-09T22:10:12+01: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":"20261109_221012_37795941"}
2026-11-09T22:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221012_37795941"}
2026-11-09T22:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:10:13+01:00","run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:10:11+01:00","run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132184,"run_id":"20261109_221012_37795941"}
2026-11-09T22:10:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"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":132184,"important":true,"run_id":"20261109_221012_37795941"}
2026-11-09T22:11:03+01: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":"20261109_221103_daeae549"}
2026-11-09T22:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:10:13+01:00","run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:10:11+01:00","run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132184,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"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":132184,"important":true,"run_id":"20261109_221103_daeae549"}
2026-11-09T22:12:04+01: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":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:04+01:00 [INFO] Processing live game {"spiel_id":2006864,"team_id":483,"league":"BBL","run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2006864,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864_INIT.JSN","size":4217,"mtime":"2026-11-09T22:11:15+01:00","run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006864,"file":"2006864_INIT.JSN","referee_count":4,"spect":2531,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006864,"file":"2006864.JSN","size":16963,"mtime":"2026-11-09T22:11:13+01:00","run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006864,"file":"2006864.JSN","ra":87,"rb":91,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006864,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Live game timing {"spiel_id":2006864,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132184,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"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":132184,"important":true,"run_id":"20261109_221204_bec95901"}
2026-11-09T22:13:02+01: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":"20261109_221302_4b53493d"}
2026-11-09T22:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:13:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.234,"exec_milliseconds":1234,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221302_4b53493d"}
2026-11-09T22:14:04+01: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":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.297,"exec_milliseconds":1297,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221403_de8dea59"}
2026-11-09T22:15:14+01: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":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.192,"exec_milliseconds":1192,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221514_30f8006a"}
2026-11-09T22:16:03+01: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":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.246,"exec_milliseconds":1246,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221603_993c4612"}
2026-11-09T22:17:02+01: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":"20261109_221702_29c3006c"}
2026-11-09T22:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.366,"duration_milliseconds":366,"important":true,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:17:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.225,"exec_milliseconds":1225,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221702_29c3006c"}
2026-11-09T22:18:04+01: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":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.367,"duration_milliseconds":367,"important":true,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.294,"exec_milliseconds":1294,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221804_a253534f"}
2026-11-09T22:19:02+01: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":"20261109_221902_65980116"}
2026-11-09T22:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_221902_65980116"}
2026-11-09T22:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_221902_65980116"}
2026-11-09T22:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.272,"exec_milliseconds":1272,"live_games":0,"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":35756,"important":true,"run_id":"20261109_221902_65980116"}
2026-11-09T22:20:12+01: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":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.249,"exec_milliseconds":1249,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222012_0eec7bc4"}
2026-11-09T22:21:02+01: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":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.225,"exec_milliseconds":1225,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222102_351fc98d"}
2026-11-09T22:22:03+01: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":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222203_34812496"}
2026-11-09T22:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222203_34812496"}
2026-11-09T22:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.227,"exec_milliseconds":1227,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222203_34812496"}
2026-11-09T22:23:02+01: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":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:23:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.203,"exec_milliseconds":1203,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222302_911a30f4"}
2026-11-09T22:24:04+01: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":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.201,"exec_milliseconds":1201,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222403_ef96f1ef"}
2026-11-09T22:25:07+01: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":"20261109_222507_b7522f77"}
2026-11-09T22:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.254,"exec_milliseconds":1254,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222507_b7522f77"}
2026-11-09T22:26:03+01: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":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:26:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.24,"exec_milliseconds":1240,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222603_e99b7e6c"}
2026-11-09T22:27:02+01: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":"20261109_222702_ec199715"}
2026-11-09T22:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:27:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.2,"exec_milliseconds":1200,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222702_ec199715"}
2026-11-09T22:28:04+01: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":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.261,"exec_milliseconds":1261,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222804_4d1cf2f6"}
2026-11-09T22:29:02+01: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":"20261109_222902_30f5b085"}
2026-11-09T22:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.194,"exec_milliseconds":1194,"live_games":0,"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":35756,"important":true,"run_id":"20261109_222902_30f5b085"}
2026-11-09T22:30:24+01: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":"20261109_223024_a932fddf"}
2026-11-09T22:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.202,"exec_milliseconds":1202,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223024_a932fddf"}
2026-11-09T22:31:02+01: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":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.267,"exec_milliseconds":1267,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223102_3f027bdb"}
2026-11-09T22:32:04+01: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":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.215,"exec_milliseconds":1215,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223204_2dceb98a"}
2026-11-09T22:33:02+01: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":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:33:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.214,"exec_milliseconds":1214,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223302_906a963d"}
2026-11-09T22:34:04+01: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":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.382,"duration_milliseconds":382,"important":true,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.216,"exec_milliseconds":1216,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223404_e5e2fc5f"}
2026-11-09T22:35:07+01: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":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.22,"exec_milliseconds":1220,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223507_efc3dc58"}
2026-11-09T22:36:03+01: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":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.192,"exec_milliseconds":1192,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223603_e761a61d"}
2026-11-09T22:37:02+01: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":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:37:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.273,"exec_milliseconds":1273,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223702_628797b3"}
2026-11-09T22:38:03+01: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":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.349,"duration_milliseconds":349,"important":true,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.242,"exec_milliseconds":1242,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223803_7c24c716"}
2026-11-09T22:39:02+01: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":"20261109_223902_b7903def"}
2026-11-09T22:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:39:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.231,"exec_milliseconds":1231,"live_games":0,"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":35756,"important":true,"run_id":"20261109_223902_b7903def"}
2026-11-09T22:40:11+01: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":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:13+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.228,"exec_milliseconds":1228,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224011_c99103a0"}
2026-11-09T22:41:02+01: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":"20261109_224102_b13b3b80"}
2026-11-09T22:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.197,"exec_milliseconds":1197,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224102_b13b3b80"}
2026-11-09T22:42:03+01: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":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:42:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.218,"exec_milliseconds":1218,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224203_ba79edd2"}
2026-11-09T22:43:03+01: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":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224302_90801b05"}
2026-11-09T22:44:04+01: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":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.291,"exec_milliseconds":1291,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224404_f3f336f0"}
2026-11-09T22:45:14+01: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":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.242,"exec_milliseconds":1242,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224513_002a67e6"}
2026-11-09T22:46:03+01: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":"20261109_224603_759c1c3b"}
2026-11-09T22:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.37,"duration_milliseconds":370,"important":true,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:46:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.263,"exec_milliseconds":1263,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224603_759c1c3b"}
2026-11-09T22:47:02+01: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":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.376,"duration_milliseconds":376,"important":true,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.24,"exec_milliseconds":1240,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224702_2b35487b"}
2026-11-09T22:48:04+01: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":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.377,"duration_milliseconds":377,"important":true,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.226,"exec_milliseconds":1226,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224803_d965100b"}
2026-11-09T22:49:02+01: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":"20261109_224902_14a3df4b"}
2026-11-09T22:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.249,"exec_milliseconds":1249,"live_games":0,"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":35756,"important":true,"run_id":"20261109_224902_14a3df4b"}
2026-11-09T22:50:11+01: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":"20261109_225011_13859f2b"}
2026-11-09T22:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.193,"exec_milliseconds":1193,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225011_13859f2b"}
2026-11-09T22:51:02+01: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":"20261109_225102_fa453fa9"}
2026-11-09T22:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:51:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.293,"exec_milliseconds":1293,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225102_fa453fa9"}
2026-11-09T22:52:04+01: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":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.254,"exec_milliseconds":1254,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225203_cdc9078b"}
2026-11-09T22:53:02+01: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":"20261109_225302_159f6ef5"}
2026-11-09T22:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:53:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.227,"exec_milliseconds":1227,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225302_159f6ef5"}
2026-11-09T22:54:03+01: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":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.242,"exec_milliseconds":1242,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225403_96c4d38c"}
2026-11-09T22:55:07+01: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":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.375,"duration_milliseconds":375,"important":true,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.282,"exec_milliseconds":1282,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225506_f5b6b38b"}
2026-11-09T22:56:03+01: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":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.216,"exec_milliseconds":1216,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225603_c1832e09"}
2026-11-09T22:57:03+01: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":"20261109_225703_14fcbde6"}
2026-11-09T22:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.281,"exec_milliseconds":1281,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225703_14fcbde6"}
2026-11-09T22:58:03+01: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":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.237,"exec_milliseconds":1237,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225803_4372e91c"}
2026-11-09T22:59:02+01: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":"20261109_225902_fc3ac227"}
2026-11-09T22:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006864,"result":"87:91","run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006864,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":35756,"run_id":"20261109_225902_fc3ac227"}
2026-11-09T22:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.306,"exec_milliseconds":1306,"live_games":0,"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":35756,"important":true,"run_id":"20261109_225902_fc3ac227"}
