2026-04-26T00:10:22+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:22+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:22+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:22+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:22+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:22+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"81:72","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.633,"duration_milliseconds":633,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"75:61","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:23+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.104,"duration_milliseconds":104,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"102:94","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"94:74","run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.092,"duration_milliseconds":92,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":45970,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T00:10:24+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.957,"exec_milliseconds":1957,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":45970,"important":true,"run_id":"20260426_001022_6e585cbe"}
2026-04-26T18:18:12+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:12+02:00 [INFO] Processing live game {"spiel_id":2004256,"team_id":428,"league":"BBL","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2004256,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256_INIT.JSN","size":4273,"mtime":"2026-04-26T18:17:58+02:00","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Init JSON parsed {"spiel_id":2004256,"file":"2004256_INIT.JSN","referee_count":4,"spect":2500,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256.JSN","size":12779,"mtime":"2026-04-26T18:17:58+02:00","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Scout JSON parsed {"spiel_id":2004256,"file":"2004256.JSN","ra":81,"rb":52,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Live row rendered {"spiel_id":2004256,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Live game timing {"spiel_id":2004256,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Processing live game {"spiel_id":2004261,"team_id":426,"league":"BBL","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP upload directory reachable {"team_id":426,"spiel_id":2004261,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261_INIT.JSN","size":3955,"mtime":"2026-04-26T18:18:03+02:00","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Init JSON parsed {"spiel_id":2004261,"file":"2004261_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261.JSN","size":12375,"mtime":"2026-04-26T18:18:03+02:00","run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Scout JSON parsed {"spiel_id":2004261,"file":"2004261.JSN","ra":18,"rb":18,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Live row rendered {"spiel_id":2004261,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Live game timing {"spiel_id":2004261,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":195632,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:13+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.859,"exec_milliseconds":1859,"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":195632,"important":true,"run_id":"20260426_181811_02d7fc1e"}
2026-04-26T18:18:16+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:16+02:00 [INFO] Processing live game {"spiel_id":2004256,"team_id":428,"league":"BBL","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2004256,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256_INIT.JSN","size":4273,"mtime":"2026-04-26T18:17:58+02:00","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Init JSON parsed {"spiel_id":2004256,"file":"2004256_INIT.JSN","referee_count":4,"spect":2500,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256.JSN","size":12779,"mtime":"2026-04-26T18:17:58+02:00","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Scout JSON parsed {"spiel_id":2004256,"file":"2004256.JSN","ra":81,"rb":52,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Live row rendered {"spiel_id":2004256,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Live game timing {"spiel_id":2004256,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Processing live game {"spiel_id":2004261,"team_id":426,"league":"BBL","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP upload directory reachable {"team_id":426,"spiel_id":2004261,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261_INIT.JSN","size":3955,"mtime":"2026-04-26T18:18:03+02:00","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Init JSON parsed {"spiel_id":2004261,"file":"2004261_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261.JSN","size":12451,"mtime":"2026-04-26T18:18:17+02:00","run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:17+02:00 [INFO] Scout JSON parsed {"spiel_id":2004261,"file":"2004261.JSN","ra":18,"rb":18,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:18+02:00 [INFO] Live row rendered {"spiel_id":2004261,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:18+02:00 [INFO] Live game timing {"spiel_id":2004261,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:18+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:18+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143535,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:18:18+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.763,"exec_milliseconds":1763,"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":143535,"important":true,"run_id":"20260426_181816_1ff1715c"}
2026-04-26T18:22:51+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:51+02:00 [INFO] Processing live game {"spiel_id":2004256,"team_id":428,"league":"BBL","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2004256,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256_INIT.JSN","size":4273,"mtime":"2026-04-26T18:20:47+02:00","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Init JSON parsed {"spiel_id":2004256,"file":"2004256_INIT.JSN","referee_count":4,"spect":2500,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP file found {"spiel_id":2004256,"file":"2004256.JSN","size":13872,"mtime":"2026-04-26T18:20:47+02:00","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Scout JSON parsed {"spiel_id":2004256,"file":"2004256.JSN","ra":83,"rb":52,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Live row rendered {"spiel_id":2004256,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Live game timing {"spiel_id":2004256,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Processing live game {"spiel_id":2004261,"team_id":426,"league":"BBL","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP upload directory reachable {"team_id":426,"spiel_id":2004261,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261_INIT.JSN","size":3955,"mtime":"2026-04-26T18:22:50+02:00","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Init JSON parsed {"spiel_id":2004261,"file":"2004261_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] SFTP file found {"spiel_id":2004261,"file":"2004261.JSN","size":4870,"mtime":"2026-04-26T18:22:50+02:00","run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Scout JSON parsed {"spiel_id":2004261,"file":"2004261.JSN","ra":18,"rb":19,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Live row rendered {"spiel_id":2004261,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [INFO] Live game timing {"spiel_id":2004261,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:52+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:53+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:53+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":168030,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T18:22:53+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.869,"exec_milliseconds":1869,"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":168030,"important":true,"run_id":"20260426_182251_e1ec3e34"}
2026-04-26T22:35:49+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Fallback row rendered {"spiel_id":2004256,"result":"83:52","run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:50+02:00 [INFO] Fallback game timing {"spiel_id":2004256,"duration_seconds":0.609,"duration_milliseconds":609,"important":true,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:51+02:00 [INFO] Fallback row rendered {"spiel_id":2004261,"result":"61:87","run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:51+02:00 [INFO] Fallback game timing {"spiel_id":2004261,"duration_seconds":0.079,"duration_milliseconds":79,"important":true,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:51+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38605,"run_id":"20260426_223549_e988a2ea"}
2026-04-26T22:35:51+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.419,"exec_milliseconds":1419,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38605,"important":true,"run_id":"20260426_223549_e988a2ea"}
