2026-11-08T06:26:44+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:44+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:44+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:44+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":32590,"run_id":"20261108_062644_f8554044"}
2026-11-08T06:26:45+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.922,"exec_milliseconds":922,"live_games":0,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":32590,"important":true,"run_id":"20261108_062644_f8554044"}
2026-11-08T07:58:21+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:21+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"--:--","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006858,"result":"97:87","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006858,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006860,"result":"92:79","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006860,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006859,"result":"97:87","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006859,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback row rendered {"spiel_id":2006856,"result":"99:90","run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Fallback game timing {"spiel_id":2006856,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":50796,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58:22+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.397,"exec_milliseconds":1397,"live_games":0,"fallback_games":7,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":50796,"important":true,"run_id":"20261108_075821_170ae4e8"}
2026-11-08T07:58: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":"20261108_075827_30fa8596"}
2026-11-08T07:58:27+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:27+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:27+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":32077,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:28+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.825,"exec_milliseconds":825,"live_games":0,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":32077,"important":true,"run_id":"20261108_075827_30fa8596"}
2026-11-08T07:58:29+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:29+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:29+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:29+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":32590,"run_id":"20261108_075829_62f837ee"}
2026-11-08T07:58:30+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.842,"exec_milliseconds":842,"live_games":0,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":32590,"important":true,"run_id":"20261108_075829_62f837ee"}
2026-11-08T12:00:20+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:20+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:20+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:20+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:20+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:20+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:20+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:20+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.445,"duration_milliseconds":445,"important":true,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.447,"duration_milliseconds":447,"important":true,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":92515,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+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":92515,"important":true,"run_id":"20261108_120020_d5989a40"}
2026-11-08T12:00:21+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":92002,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:21+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":92002,"important":true,"run_id":"20261108_120020_34dc74f7"}
2026-11-08T12:00:22+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:22+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006858,"result":"97:87","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006858,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006860,"result":"92:79","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006860,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006859,"result":"97:87","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006859,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback row rendered {"spiel_id":2006856,"result":"99:90","run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Fallback game timing {"spiel_id":2006856,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":90122,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T12:00:23+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.552,"exec_milliseconds":1552,"live_games":1,"fallback_games":6,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":90122,"important":true,"run_id":"20261108_120022_62bdaea6"}
2026-11-08T13:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:33+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:33+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:33+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13:00:34+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.387,"exec_milliseconds":1387,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130033_6576ea6a"}
2026-11-08T13: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":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.429,"exec_milliseconds":1429,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130102_c2e720fa"}
2026-11-08T13: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":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.521,"duration_milliseconds":521,"important":true,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.421,"exec_milliseconds":1421,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130204_cd38c7d8"}
2026-11-08T13: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":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.497,"duration_milliseconds":497,"important":true,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130302_7edfc729"}
2026-11-08T13: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":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.505,"duration_milliseconds":505,"important":true,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.026,"duration_milliseconds":26,"important":true,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.433,"exec_milliseconds":1433,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130403_2fbdeff7"}
2026-11-08T13: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":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.026,"duration_milliseconds":26,"important":true,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.426,"exec_milliseconds":1426,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130507_0c1b53c1"}
2026-11-08T13: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":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.404,"exec_milliseconds":1404,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130603_fd665f00"}
2026-11-08T13: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":"20261108_130702_e8a62715"}
2026-11-08T13:07:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.384,"exec_milliseconds":1384,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130702_e8a62715"}
2026-11-08T13: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":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.518,"duration_milliseconds":518,"important":true,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130803_e01e953d"}
2026-11-08T13: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":"20261108_130902_be172449"}
2026-11-08T13:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_130902_be172449"}
2026-11-08T13:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.465,"exec_milliseconds":1465,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_130902_be172449"}
2026-11-08T13:10: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":"20261108_131011_28943d77"}
2026-11-08T13:10:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131011_28943d77"}
2026-11-08T13:10:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131011_28943d77"}
2026-11-08T13: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":"20261108_131102_6fc7946f"}
2026-11-08T13:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.028,"duration_milliseconds":28,"important":true,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:11:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131102_6fc7946f"}
2026-11-08T13:12: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":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131203_982482ca"}
2026-11-08T13:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.413,"exec_milliseconds":1413,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131203_982482ca"}
2026-11-08T13: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":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.306,"exec_milliseconds":1306,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131302_747bbb5b"}
2026-11-08T13: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":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.026,"duration_milliseconds":26,"important":true,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.363,"exec_milliseconds":1363,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131403_d18db158"}
2026-11-08T13:15: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":"20261108_131513_49acdbf0"}
2026-11-08T13:15:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.399,"exec_milliseconds":1399,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131513_49acdbf0"}
2026-11-08T13: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":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.488,"duration_milliseconds":488,"important":true,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.027,"duration_milliseconds":27,"important":true,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.485,"exec_milliseconds":1485,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131603_c0d6ad44"}
2026-11-08T13: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":"20261108_131702_19ee9297"}
2026-11-08T13:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13:17:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131702_19ee9297"}
2026-11-08T13: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":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131803_56043580"}
2026-11-08T13:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131803_56043580"}
2026-11-08T13: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":"20261108_131902_78e086f7"}
2026-11-08T13:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_131902_78e086f7"}
2026-11-08T13: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":"20261108_132011_d105b895"}
2026-11-08T13:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_132011_d105b895"}
2026-11-08T13:20:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_132011_d105b895"}
2026-11-08T13: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":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"--:--","run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95037,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.418,"exec_milliseconds":1418,"live_games":1,"fallback_games":1,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":95037,"important":true,"run_id":"20261108_132102_347fc65c"}
2026-11-08T13: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":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:21:42+01:00","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:21:42+01:00","run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156708,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.491,"exec_milliseconds":1491,"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":156708,"important":true,"run_id":"20261108_132203_49a32a09"}
2026-11-08T13: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":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156708,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.509,"exec_milliseconds":1509,"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":156708,"important":true,"run_id":"20261108_132302_c2d1813a"}
2026-11-08T13: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":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.516,"exec_milliseconds":1516,"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":156808,"important":true,"run_id":"20261108_132403_7b2ddcf0"}
2026-11-08T13:25:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:07+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.45,"exec_milliseconds":1450,"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":156808,"important":true,"run_id":"20261108_132506_aa4824bf"}
2026-11-08T13: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":"20261108_132603_e1f9e957"}
2026-11-08T13:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.46,"exec_milliseconds":1460,"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":156808,"important":true,"run_id":"20261108_132603_e1f9e957"}
2026-11-08T13: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":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.5,"exec_milliseconds":1500,"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":156808,"important":true,"run_id":"20261108_132703_5dfeed5f"}
2026-11-08T13: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":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.488,"exec_milliseconds":1488,"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":156808,"important":true,"run_id":"20261108_132803_6bd461fc"}
2026-11-08T13: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":"20261108_132902_f3707b15"}
2026-11-08T13:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.431,"exec_milliseconds":1431,"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":156808,"important":true,"run_id":"20261108_132902_f3707b15"}
2026-11-08T13: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":"20261108_133024_0511d9a9"}
2026-11-08T13:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.181,"duration_milliseconds":181,"important":true,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.516,"exec_milliseconds":1516,"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":156808,"important":true,"run_id":"20261108_133024_0511d9a9"}
2026-11-08T13: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":"20261108_133102_c2388004"}
2026-11-08T13:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133102_c2388004"}
2026-11-08T13:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.544,"exec_milliseconds":1544,"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":156808,"important":true,"run_id":"20261108_133102_c2388004"}
2026-11-08T13: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":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.513,"exec_milliseconds":1513,"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":156808,"important":true,"run_id":"20261108_133203_fc4271b3"}
2026-11-08T13: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":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.449,"duration_milliseconds":449,"important":true,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.502,"exec_milliseconds":1502,"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":156808,"important":true,"run_id":"20261108_133302_2e2928fd"}
2026-11-08T13: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":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.438,"duration_milliseconds":438,"important":true,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.133,"duration_milliseconds":133,"important":true,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.425,"exec_milliseconds":1425,"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":156808,"important":true,"run_id":"20261108_133404_77e5fc0a"}
2026-11-08T13: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":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.467,"exec_milliseconds":1467,"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":156808,"important":true,"run_id":"20261108_133507_76dfd2c1"}
2026-11-08T13: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":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133603_141cc349"}
2026-11-08T13:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.536,"exec_milliseconds":1536,"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":156808,"important":true,"run_id":"20261108_133603_141cc349"}
2026-11-08T13: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":"20261108_133702_5da6b55e"}
2026-11-08T13:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.454,"exec_milliseconds":1454,"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":156808,"important":true,"run_id":"20261108_133702_5da6b55e"}
2026-11-08T13: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":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156808,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.529,"exec_milliseconds":1529,"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":156808,"important":true,"run_id":"20261108_133803_df89ff48"}
2026-11-08T13: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":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.615,"exec_milliseconds":1615,"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":156810,"important":true,"run_id":"20261108_133902_c0b4e3a7"}
2026-11-08T13: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":"20261108_134011_a5139027"}
2026-11-08T13:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.492,"duration_milliseconds":492,"important":true,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134011_a5139027"}
2026-11-08T13:40:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.575,"exec_milliseconds":1575,"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":156810,"important":true,"run_id":"20261108_134011_a5139027"}
2026-11-08T13: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":"20261108_134102_373003a3"}
2026-11-08T13:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134102_373003a3"}
2026-11-08T13:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.464,"exec_milliseconds":1464,"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":156810,"important":true,"run_id":"20261108_134102_373003a3"}
2026-11-08T13: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":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.469,"exec_milliseconds":1469,"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":156810,"important":true,"run_id":"20261108_134203_ff515d9e"}
2026-11-08T13: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":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134302_fe061751"}
2026-11-08T13:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.499,"exec_milliseconds":1499,"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":156810,"important":true,"run_id":"20261108_134302_fe061751"}
2026-11-08T13: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":"20261108_134403_43dd3903"}
2026-11-08T13:44:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.588,"duration_milliseconds":588,"important":true,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.607,"exec_milliseconds":1607,"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":156810,"important":true,"run_id":"20261108_134403_43dd3903"}
2026-11-08T13:45: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":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.564,"exec_milliseconds":1564,"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":156810,"important":true,"run_id":"20261108_134513_c8b8a02a"}
2026-11-08T13: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":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.565,"exec_milliseconds":1565,"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":156810,"important":true,"run_id":"20261108_134603_7acf2fd9"}
2026-11-08T13: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":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.531,"exec_milliseconds":1531,"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":156810,"important":true,"run_id":"20261108_134702_ece835d9"}
2026-11-08T13:48: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":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134803_b8816338"}
2026-11-08T13:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.51,"exec_milliseconds":1510,"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":156810,"important":true,"run_id":"20261108_134803_b8816338"}
2026-11-08T13: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":"20261108_134902_d54614ae"}
2026-11-08T13:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.449,"exec_milliseconds":1449,"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":156810,"important":true,"run_id":"20261108_134902_d54614ae"}
2026-11-08T13: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":"20261108_135011_32bc8574"}
2026-11-08T13:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.489,"exec_milliseconds":1489,"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":156810,"important":true,"run_id":"20261108_135011_32bc8574"}
2026-11-08T13: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":"20261108_135102_80ac65ef"}
2026-11-08T13:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.537,"exec_milliseconds":1537,"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":156810,"important":true,"run_id":"20261108_135102_80ac65ef"}
2026-11-08T13: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":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.453,"exec_milliseconds":1453,"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":156810,"important":true,"run_id":"20261108_135204_2bfcdc73"}
2026-11-08T13: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":"20261108_135302_30584d0b"}
2026-11-08T13:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.587,"exec_milliseconds":1587,"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":156810,"important":true,"run_id":"20261108_135302_30584d0b"}
2026-11-08T13: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":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.541,"exec_milliseconds":1541,"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":156810,"important":true,"run_id":"20261108_135403_88fc1468"}
2026-11-08T13:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:07+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.581,"exec_milliseconds":1581,"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":156810,"important":true,"run_id":"20261108_135506_fd700e61"}
2026-11-08T13: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":"20261108_135604_1aae3317"}
2026-11-08T13:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.578,"exec_milliseconds":1578,"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":156810,"important":true,"run_id":"20261108_135604_1aae3317"}
2026-11-08T13: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":"20261108_135702_dbf8d011"}
2026-11-08T13:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.451,"exec_milliseconds":1451,"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":156810,"important":true,"run_id":"20261108_135702_dbf8d011"}
2026-11-08T13: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":"20261108_135803_f9eb683c"}
2026-11-08T13:58:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.488,"duration_milliseconds":488,"important":true,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.175,"duration_milliseconds":175,"important":true,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.574,"exec_milliseconds":1574,"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":156810,"important":true,"run_id":"20261108_135803_f9eb683c"}
2026-11-08T13: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":"20261108_135902_f5fd5775"}
2026-11-08T13:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.506,"duration_milliseconds":506,"important":true,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":156810,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T13:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.489,"exec_milliseconds":1489,"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":156810,"important":true,"run_id":"20261108_135902_f5fd5775"}
2026-11-08T14:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.526,"duration_milliseconds":526,"important":true,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.175,"duration_milliseconds":175,"important":true,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159374,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14:00:35+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.629,"exec_milliseconds":1629,"live_games":2,"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":159374,"important":true,"run_id":"20261108_140033_bc9fea72"}
2026-11-08T14: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":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.029,"duration_milliseconds":29,"important":true,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.635,"exec_milliseconds":1635,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140102_61fa474e"}
2026-11-08T14: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":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.545,"exec_milliseconds":1545,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140203_c098ab4a"}
2026-11-08T14: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":"20261108_140302_7d549b5d"}
2026-11-08T14:03:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.494,"duration_milliseconds":494,"important":true,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.029,"duration_milliseconds":29,"important":true,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.534,"exec_milliseconds":1534,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140302_7d549b5d"}
2026-11-08T14: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":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.503,"duration_milliseconds":503,"important":true,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140404_41aab257"}
2026-11-08T14:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.62,"exec_milliseconds":1620,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140404_41aab257"}
2026-11-08T14: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":"20261108_140507_fa378679"}
2026-11-08T14:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140507_fa378679"}
2026-11-08T14:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.575,"exec_milliseconds":1575,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140507_fa378679"}
2026-11-08T14: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":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.475,"exec_milliseconds":1475,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140603_0fd44846"}
2026-11-08T14: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":"20261108_140702_68b6b36a"}
2026-11-08T14:07:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.594,"exec_milliseconds":1594,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140702_68b6b36a"}
2026-11-08T14: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":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.516,"duration_milliseconds":516,"important":true,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.027,"duration_milliseconds":27,"important":true,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.646,"exec_milliseconds":1646,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140803_369c6e52"}
2026-11-08T14: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":"20261108_140902_415b7dfe"}
2026-11-08T14:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.529,"exec_milliseconds":1529,"live_games":2,"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":159376,"important":true,"run_id":"20261108_140902_415b7dfe"}
2026-11-08T14: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":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.133,"duration_milliseconds":133,"important":true,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.535,"exec_milliseconds":1535,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141011_8be32b38"}
2026-11-08T14: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":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141103_278ae565"}
2026-11-08T14:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.599,"exec_milliseconds":1599,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141103_278ae565"}
2026-11-08T14: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":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.614,"exec_milliseconds":1614,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141203_a398a82d"}
2026-11-08T14: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":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141302_267843be"}
2026-11-08T14:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.594,"exec_milliseconds":1594,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141302_267843be"}
2026-11-08T14: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":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.52,"exec_milliseconds":1520,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141403_8569a88c"}
2026-11-08T14: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":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14:15:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.549,"exec_milliseconds":1549,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141514_8498fbe8"}
2026-11-08T14: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":"20261108_141603_07ad753d"}
2026-11-08T14:16:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.028,"duration_milliseconds":28,"important":true,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.586,"exec_milliseconds":1586,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141603_07ad753d"}
2026-11-08T14: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":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.027,"duration_milliseconds":27,"important":true,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.52,"exec_milliseconds":1520,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141702_b2fa25a2"}
2026-11-08T14: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":"20261108_141804_258dbd78"}
2026-11-08T14:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.538,"exec_milliseconds":1538,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141804_258dbd78"}
2026-11-08T14: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":"20261108_141902_0903de41"}
2026-11-08T14:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_141902_0903de41"}
2026-11-08T14:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.511,"exec_milliseconds":1511,"live_games":2,"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":159376,"important":true,"run_id":"20261108_141902_0903de41"}
2026-11-08T14: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":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":5874,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5476,"mtime":"2026-11-08T11:14:21+01:00","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":159376,"run_id":"20261108_142011_399932ba"}
2026-11-08T14:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.51,"exec_milliseconds":1510,"live_games":2,"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":159376,"important":true,"run_id":"20261108_142011_399932ba"}
2026-11-08T14: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":"20261108_142102_fac37386"}
2026-11-08T14:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.168,"duration_milliseconds":168,"important":true,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143483,"run_id":"20261108_142102_fac37386"}
2026-11-08T14:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.502,"exec_milliseconds":1502,"live_games":2,"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":143483,"important":true,"run_id":"20261108_142102_fac37386"}
2026-11-08T14: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":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143483,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.522,"exec_milliseconds":1522,"live_games":2,"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":143483,"important":true,"run_id":"20261108_142203_f07cd752"}
2026-11-08T14: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":"20261108_142302_34b83218"}
2026-11-08T14:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142302_34b83218"}
2026-11-08T14:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.598,"exec_milliseconds":1598,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142302_34b83218"}
2026-11-08T14: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":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.565,"exec_milliseconds":1565,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142403_901aa87a"}
2026-11-08T14: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":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.614,"exec_milliseconds":1614,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142507_382e5d2e"}
2026-11-08T14: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":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.562,"exec_milliseconds":1562,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142603_a59a46e0"}
2026-11-08T14: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":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.584,"exec_milliseconds":1584,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142702_520f95e4"}
2026-11-08T14: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":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.17,"duration_milliseconds":170,"important":true,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.616,"exec_milliseconds":1616,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142803_7976a3cf"}
2026-11-08T14: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":"20261108_142902_cc16fc74"}
2026-11-08T14:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.49,"exec_milliseconds":1490,"live_games":2,"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":143583,"important":true,"run_id":"20261108_142902_cc16fc74"}
2026-11-08T14: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":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143024_f434a293"}
2026-11-08T14:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.516,"exec_milliseconds":1516,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143024_f434a293"}
2026-11-08T14: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":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.026,"duration_milliseconds":26,"important":true,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.586,"exec_milliseconds":1586,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143102_dae0058b"}
2026-11-08T14: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":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.531,"exec_milliseconds":1531,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143203_99c47b63"}
2026-11-08T14: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":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.17,"duration_milliseconds":170,"important":true,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.023,"duration_milliseconds":23,"important":true,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.542,"exec_milliseconds":1542,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143302_cb7e5c58"}
2026-11-08T14: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":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.021,"duration_milliseconds":21,"important":true,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.502,"exec_milliseconds":1502,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143403_2c79633b"}
2026-11-08T14:35:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.57,"exec_milliseconds":1570,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143506_6610f3b2"}
2026-11-08T14: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":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143603_15174519"}
2026-11-08T14:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.538,"exec_milliseconds":1538,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143603_15174519"}
2026-11-08T14: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":"20261108_143702_11f086c2"}
2026-11-08T14:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.022,"duration_milliseconds":22,"important":true,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143583,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.495,"exec_milliseconds":1495,"live_games":2,"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":143583,"important":true,"run_id":"20261108_143702_11f086c2"}
2026-11-08T14: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":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.024,"duration_milliseconds":24,"important":true,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143585,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.54,"exec_milliseconds":1540,"live_games":2,"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":143585,"important":true,"run_id":"20261108_143803_d9a63daa"}
2026-11-08T14: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":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"--:--","run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.025,"duration_milliseconds":25,"important":true,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":143585,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.499,"exec_milliseconds":1499,"live_games":2,"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":143585,"important":true,"run_id":"20261108_143902_9b9391f5"}
2026-11-08T14: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":"20261108_144011_4067dfc3"}
2026-11-08T14:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.134,"duration_milliseconds":134,"important":true,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202523,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14:40:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.586,"exec_milliseconds":1586,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202523,"important":true,"run_id":"20261108_144011_4067dfc3"}
2026-11-08T14: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":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202621,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.687,"exec_milliseconds":1687,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202621,"important":true,"run_id":"20261108_144102_65b3a1d0"}
2026-11-08T14: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":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.599,"exec_milliseconds":1599,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144203_05b5b5a9"}
2026-11-08T14: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":"20261108_144302_eb94f54f"}
2026-11-08T14:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.663,"exec_milliseconds":1663,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144302_eb94f54f"}
2026-11-08T14: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":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.722,"exec_milliseconds":1722,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144403_f0a46ba6"}
2026-11-08T14:45: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":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:13+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.134,"duration_milliseconds":134,"important":true,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14:45:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.632,"exec_milliseconds":1632,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144513_31ed8231"}
2026-11-08T14: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":"20261108_144603_56723b69"}
2026-11-08T14:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144603_56723b69"}
2026-11-08T14:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.725,"exec_milliseconds":1725,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144603_56723b69"}
2026-11-08T14: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":"20261108_144702_0b709475"}
2026-11-08T14:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.67,"exec_milliseconds":1670,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144702_0b709475"}
2026-11-08T14:48: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":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.721,"exec_milliseconds":1721,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144803_0823b8bb"}
2026-11-08T14: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":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:20:44+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202623,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.685,"exec_milliseconds":1685,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202623,"important":true,"run_id":"20261108_144902_2e56f524"}
2026-11-08T14: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":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:11+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:49:52+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3740,"mtime":"2026-11-08T14:49:52+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202521,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.724,"exec_milliseconds":1724,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202521,"important":true,"run_id":"20261108_145011_c856c7f7"}
2026-11-08T14: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":"20261108_145102_a09877c0"}
2026-11-08T14:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202686,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.609,"exec_milliseconds":1609,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202686,"important":true,"run_id":"20261108_145102_a09877c0"}
2026-11-08T14: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":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202786,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.644,"exec_milliseconds":1644,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202786,"important":true,"run_id":"20261108_145203_6c41af77"}
2026-11-08T14: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":"20261108_145302_fd5db887"}
2026-11-08T14:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.45,"duration_milliseconds":450,"important":true,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202786,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.664,"exec_milliseconds":1664,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202786,"important":true,"run_id":"20261108_145302_fd5db887"}
2026-11-08T14: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":"20261108_145403_c1971585"}
2026-11-08T14:54:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202786,"run_id":"20261108_145403_c1971585"}
2026-11-08T14:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.63,"exec_milliseconds":1630,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202786,"important":true,"run_id":"20261108_145403_c1971585"}
2026-11-08T14: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":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202786,"run_id":"20261108_145507_494dffab"}
2026-11-08T14:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.659,"exec_milliseconds":1659,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202786,"important":true,"run_id":"20261108_145507_494dffab"}
2026-11-08T14: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":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202786,"run_id":"20261108_145603_d5636846"}
2026-11-08T14:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.679,"exec_milliseconds":1679,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202786,"important":true,"run_id":"20261108_145603_d5636846"}
2026-11-08T14: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":"20261108_145702_c1d04744"}
2026-11-08T14:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.179,"duration_milliseconds":179,"important":true,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202788,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.695,"exec_milliseconds":1695,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202788,"important":true,"run_id":"20261108_145702_c1d04744"}
2026-11-08T14: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":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202788,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.608,"exec_milliseconds":1608,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202788,"important":true,"run_id":"20261108_145804_ffecc23f"}
2026-11-08T14: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":"20261108_145902_018449b8"}
2026-11-08T14:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202788,"run_id":"20261108_145902_018449b8"}
2026-11-08T14:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.642,"exec_milliseconds":1642,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202788,"important":true,"run_id":"20261108_145902_018449b8"}
2026-11-08T15:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:33+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3750,"mtime":"2026-11-08T14:50:13+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.504,"duration_milliseconds":504,"important":true,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202788,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15:00:34+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.708,"exec_milliseconds":1708,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202788,"important":true,"run_id":"20261108_150032_d5803d25"}
2026-11-08T15: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":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:00:59+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":3933,"mtime":"2026-11-08T15:00:59+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":0,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203410,"run_id":"20261108_150102_494652cb"}
2026-11-08T15:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.73,"exec_milliseconds":1730,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":203410,"important":true,"run_id":"20261108_150102_494652cb"}
2026-11-08T15: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":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:01:47+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":4508,"mtime":"2026-11-08T15:02:04+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":1,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":205853,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.608,"exec_milliseconds":1608,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":205853,"important":true,"run_id":"20261108_150203_9a9b0347"}
2026-11-08T15: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":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:03:02+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":4848,"mtime":"2026-11-08T15:03:02+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":2,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.444,"duration_milliseconds":444,"important":true,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.133,"duration_milliseconds":133,"important":true,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":207295,"run_id":"20261108_150303_2688529d"}
2026-11-08T15:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.599,"exec_milliseconds":1599,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":207295,"important":true,"run_id":"20261108_150303_2688529d"}
2026-11-08T15: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":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:03:48+01:00","run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150403_3396c28e"}
2026-11-08T15:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5522,"mtime":"2026-11-08T15:03:48+01:00","run_id":"20261108_150403_3396c28e"}
2026-11-08T15: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":"20261108_150507_f1e6a036"}
2026-11-08T15:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:04:47+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6174,"mtime":"2026-11-08T15:04:47+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":0,"rb":6,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":212889,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.628,"exec_milliseconds":1628,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":212889,"important":true,"run_id":"20261108_150507_f1e6a036"}
2026-11-08T15: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":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:06:04+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6683,"mtime":"2026-11-08T15:06:04+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":1,"rb":6,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":215028,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.693,"exec_milliseconds":1693,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":215028,"important":true,"run_id":"20261108_150604_dcf66c34"}
2026-11-08T15: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":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:07:02+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7142,"mtime":"2026-11-08T15:07:02+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":5,"rb":6,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":216949,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":216949,"important":true,"run_id":"20261108_150702_0f828d71"}
2026-11-08T15: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":"20261108_150804_19588d8c"}
2026-11-08T15:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:07:59+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7703,"mtime":"2026-11-08T15:07:59+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":6,"rb":6,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219358,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15:08:06+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.759,"exec_milliseconds":1759,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":219358,"important":true,"run_id":"20261108_150804_19588d8c"}
2026-11-08T15: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":"20261108_150902_ffb21cde"}
2026-11-08T15:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:08:47+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8192,"mtime":"2026-11-08T15:08:47+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":9,"rb":8,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":221399,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.692,"exec_milliseconds":1692,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":221399,"important":true,"run_id":"20261108_150902_ffb21cde"}
2026-11-08T15:10: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":"20261108_151011_db4e4da7"}
2026-11-08T15:10:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:10:04+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8734,"mtime":"2026-11-08T15:10:04+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":12,"rb":10,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":223665,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15:10:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.619,"exec_milliseconds":1619,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":223665,"important":true,"run_id":"20261108_151011_db4e4da7"}
2026-11-08T15: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":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:10:49+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9011,"mtime":"2026-11-08T15:10:49+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":12,"rb":12,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":224810,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.664,"exec_milliseconds":1664,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":224810,"important":true,"run_id":"20261108_151102_9c26a6ed"}
2026-11-08T15: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":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:12:01+01:00","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.443,"duration_milliseconds":443,"important":true,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":183570,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.682,"exec_milliseconds":1682,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":183570,"important":true,"run_id":"20261108_151203_6d48c6a4"}
2026-11-08T15: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":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:12:42+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10192,"mtime":"2026-11-08T15:12:42+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":12,"rb":14,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":229867,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.665,"exec_milliseconds":1665,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":229867,"important":true,"run_id":"20261108_151303_e48d3c48"}
2026-11-08T15: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":"20261108_151403_7c9f2159"}
2026-11-08T15:14:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4122,"mtime":"2026-11-08T15:13:59+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10616,"mtime":"2026-11-08T15:13:59+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":15,"rb":16,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":231555,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.651,"exec_milliseconds":1651,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":231555,"important":true,"run_id":"20261108_151403_7c9f2159"}
2026-11-08T15: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":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:14:56+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11032,"mtime":"2026-11-08T15:14:56+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":15,"rb":19,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":233332,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.656,"exec_milliseconds":1656,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":233332,"important":true,"run_id":"20261108_151514_85e4a0e5"}
2026-11-08T15: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":"20261108_151603_93113961"}
2026-11-08T15:16:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:15:59+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11184,"mtime":"2026-11-08T15:16:01+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":15,"rb":19,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":233984,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.747,"exec_milliseconds":1747,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":233984,"important":true,"run_id":"20261108_151603_93113961"}
2026-11-08T15:16:32+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:16:11+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11303,"mtime":"2026-11-08T15:16:11+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":18,"rb":19,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.448,"duration_milliseconds":448,"important":true,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:33+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.136,"duration_milliseconds":136,"important":true,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":234463,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15:16:34+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.619,"exec_milliseconds":1619,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":234463,"important":true,"run_id":"20261108_151632_43cf8745"}
2026-11-08T15: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":"20261108_151702_6a046206"}
2026-11-08T15:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:16:51+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11527,"mtime":"2026-11-08T15:16:51+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":18,"rb":19,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":235437,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.61,"exec_milliseconds":1610,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":235437,"important":true,"run_id":"20261108_151702_6a046206"}
2026-11-08T15:18: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":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:17:41+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11868,"mtime":"2026-11-08T15:17:41+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":20,"rb":19,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.183,"duration_milliseconds":183,"important":true,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":236880,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":236880,"important":true,"run_id":"20261108_151803_0bb22a17"}
2026-11-08T15: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":"20261108_151902_43219d4e"}
2026-11-08T15:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:19:02+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12421,"mtime":"2026-11-08T15:19:01+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":20,"rb":21,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":239277,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.689,"exec_milliseconds":1689,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":239277,"important":true,"run_id":"20261108_151902_43219d4e"}
2026-11-08T15: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":"20261108_152011_e04daa46"}
2026-11-08T15:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:20:12+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12432,"mtime":"2026-11-08T15:20:12+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":20,"rb":21,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":239306,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.704,"exec_milliseconds":1704,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":239306,"important":true,"run_id":"20261108_152011_e04daa46"}
2026-11-08T15: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":"20261108_152102_493d83e2"}
2026-11-08T15:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:20:50+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12525,"mtime":"2026-11-08T15:20:51+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":20,"rb":21,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":239523,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.647,"exec_milliseconds":1647,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":239523,"important":true,"run_id":"20261108_152102_493d83e2"}
2026-11-08T15: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":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:22:04+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5161,"mtime":"2026-11-08T15:22:04+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":20,"rb":24,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.179,"duration_milliseconds":179,"important":true,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":207993,"run_id":"20261108_152203_6146516d"}
2026-11-08T15:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.754,"exec_milliseconds":1754,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":207993,"important":true,"run_id":"20261108_152203_6146516d"}
2026-11-08T15: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":"20261108_152302_6e364709"}
2026-11-08T15:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:22:56+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5657,"mtime":"2026-11-08T15:22:56+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":22,"rb":24,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":210099,"run_id":"20261108_152302_6e364709"}
2026-11-08T15:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.748,"exec_milliseconds":1748,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":210099,"important":true,"run_id":"20261108_152302_6e364709"}
2026-11-08T15: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":"20261108_152404_d424e998"}
2026-11-08T15:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:23:57+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6137,"mtime":"2026-11-08T15:23:57+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":22,"rb":25,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":212169,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.735,"exec_milliseconds":1735,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":212169,"important":true,"run_id":"20261108_152404_d424e998"}
2026-11-08T15:25:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:25:06+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6486,"mtime":"2026-11-08T15:25:05+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":22,"rb":27,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":213632,"run_id":"20261108_152506_a998b891"}
2026-11-08T15:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.657,"exec_milliseconds":1657,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":213632,"important":true,"run_id":"20261108_152506_a998b891"}
2026-11-08T15: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":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:25:50+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6935,"mtime":"2026-11-08T15:25:51+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":22,"rb":27,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":215581,"run_id":"20261108_152603_0f702888"}
2026-11-08T15:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.668,"exec_milliseconds":1668,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":215581,"important":true,"run_id":"20261108_152603_0f702888"}
2026-11-08T15: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":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:27:01+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7727,"mtime":"2026-11-08T15:27:03+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":24,"rb":29,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":218879,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.689,"exec_milliseconds":1689,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":218879,"important":true,"run_id":"20261108_152702_6dbc8cc9"}
2026-11-08T15: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":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:28:03+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8204,"mtime":"2026-11-08T15:28:03+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":24,"rb":29,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":6343,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5880,"mtime":"2026-11-08T13:22:12+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":220892,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.746,"exec_milliseconds":1746,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":220892,"important":true,"run_id":"20261108_152803_61ae8ba9"}
2026-11-08T15: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":"20261108_152902_164edd96"}
2026-11-08T15:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:29:00+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8747,"mtime":"2026-11-08T15:29:00+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":27,"rb":31,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":212172,"run_id":"20261108_152902_164edd96"}
2026-11-08T15:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.688,"exec_milliseconds":1688,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":212172,"important":true,"run_id":"20261108_152902_164edd96"}
2026-11-08T15: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":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:24+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:30:23+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9334,"mtime":"2026-11-08T15:30:23+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":30,"rb":31,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":214743,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.703,"exec_milliseconds":1703,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":214743,"important":true,"run_id":"20261108_153024_5e3c5c50"}
2026-11-08T15: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":"20261108_153102_ca262b27"}
2026-11-08T15:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:30:55+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9597,"mtime":"2026-11-08T15:30:54+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":30,"rb":33,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":215854,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.719,"exec_milliseconds":1719,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":215854,"important":true,"run_id":"20261108_153102_ca262b27"}
2026-11-08T15: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":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:31:59+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10218,"mtime":"2026-11-08T15:31:59+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":30,"rb":33,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.502,"duration_milliseconds":502,"important":true,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:06+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:06+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":218503,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15:32:06+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.786,"exec_milliseconds":1786,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":218503,"important":true,"run_id":"20261108_153204_cd8fb31d"}
2026-11-08T15: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":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:33:01+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10881,"mtime":"2026-11-08T15:33:03+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":32,"rb":33,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":221300,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.665,"exec_milliseconds":1665,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":221300,"important":true,"run_id":"20261108_153302_1a7c3d3f"}
2026-11-08T15: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":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:33:27+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11142,"mtime":"2026-11-08T15:33:25+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":34,"rb":33,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":222409,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":222409,"important":true,"run_id":"20261108_153403_7d5cdaf1"}
2026-11-08T15: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":"20261108_153507_d49f4057"}
2026-11-08T15:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:35:04+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11293,"mtime":"2026-11-08T15:35:05+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":34,"rb":33,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":223064,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.666,"exec_milliseconds":1666,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":223064,"important":true,"run_id":"20261108_153507_d49f4057"}
2026-11-08T15: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":"20261108_153603_9bdef96e"}
2026-11-08T15:36:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:35:49+01:00","run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153603_9bdef96e"}
2026-11-08T15:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11532,"mtime":"2026-11-08T15:35:48+01:00","run_id":"20261108_153603_9bdef96e"}
2026-11-08T15: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":"20261108_153702_354abf4d"}
2026-11-08T15:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:36:56+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12030,"mtime":"2026-11-08T15:36:55+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":35,"rb":38,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.167,"duration_milliseconds":167,"important":true,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226131,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.786,"exec_milliseconds":1786,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226131,"important":true,"run_id":"20261108_153702_354abf4d"}
2026-11-08T15: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":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:38:04+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12521,"mtime":"2026-11-08T15:38:03+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":38,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":228228,"run_id":"20261108_153804_46dda720"}
2026-11-08T15:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.732,"exec_milliseconds":1732,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":228228,"important":true,"run_id":"20261108_153804_46dda720"}
2026-11-08T15: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":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:38:30+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12783,"mtime":"2026-11-08T15:38:29+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":40,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":5134,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4675,"mtime":"2026-11-08T15:28:39+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":229338,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.756,"exec_milliseconds":1756,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":229338,"important":true,"run_id":"20261108_153902_4d9470ec"}
2026-11-08T15: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":"20261108_154011_b9d206b1"}
2026-11-08T15:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:38:30+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12783,"mtime":"2026-11-08T15:38:29+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":40,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.186,"duration_milliseconds":186,"important":true,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219569,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15:40:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.741,"exec_milliseconds":1741,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":219569,"important":true,"run_id":"20261108_154011_b9d206b1"}
2026-11-08T15: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":"20261108_154102_e8345ce0"}
2026-11-08T15:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:41:00+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13318,"mtime":"2026-11-08T15:41:00+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":40,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.177,"duration_milliseconds":177,"important":true,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":221770,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.81,"exec_milliseconds":1810,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":221770,"important":true,"run_id":"20261108_154102_e8345ce0"}
2026-11-08T15: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":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:42:03+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13807,"mtime":"2026-11-08T15:42:03+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":42,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":223961,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.666,"exec_milliseconds":1666,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":223961,"important":true,"run_id":"20261108_154203_626b6a08"}
2026-11-08T15: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":"20261108_154302_e78b8a71"}
2026-11-08T15:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:42:46+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14262,"mtime":"2026-11-08T15:42:46+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225870,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.734,"exec_milliseconds":1734,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225870,"important":true,"run_id":"20261108_154302_e78b8a71"}
2026-11-08T15: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":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:43:22+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14248,"mtime":"2026-11-08T15:43:22+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225840,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.679,"exec_milliseconds":1679,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225840,"important":true,"run_id":"20261108_154403_c02f3df7"}
2026-11-08T15:45: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":"20261108_154513_7597da6c"}
2026-11-08T15:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:13+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:43:22+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14248,"mtime":"2026-11-08T15:43:22+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225940,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15:45:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.709,"exec_milliseconds":1709,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225940,"important":true,"run_id":"20261108_154513_7597da6c"}
2026-11-08T15: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":"20261108_154603_7dcb9108"}
2026-11-08T15:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:45:57+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14327,"mtime":"2026-11-08T15:45:56+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.136,"duration_milliseconds":136,"important":true,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226173,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.685,"exec_milliseconds":1685,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226173,"important":true,"run_id":"20261108_154603_7dcb9108"}
2026-11-08T15: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":"20261108_154702_518cc18f"}
2026-11-08T15:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:46:19+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14257,"mtime":"2026-11-08T15:46:18+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225861,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.653,"exec_milliseconds":1653,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225861,"important":true,"run_id":"20261108_154702_518cc18f"}
2026-11-08T15: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":"20261108_154804_c8dacf02"}
2026-11-08T15:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:46:19+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14257,"mtime":"2026-11-08T15:46:18+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225961,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15:48:06+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.719,"exec_milliseconds":1719,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225961,"important":true,"run_id":"20261108_154804_c8dacf02"}
2026-11-08T15: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":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:48:32+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:48:32+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.499,"duration_milliseconds":499,"important":true,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.168,"duration_milliseconds":168,"important":true,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226153,"run_id":"20261108_154902_000d6584"}
2026-11-08T15:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.699,"exec_milliseconds":1699,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226153,"important":true,"run_id":"20261108_154902_000d6584"}
2026-11-08T15: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":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:11+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:49:33+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:49:33+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226153,"run_id":"20261108_155010_409718d1"}
2026-11-08T15:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.677,"exec_milliseconds":1677,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226153,"important":true,"run_id":"20261108_155010_409718d1"}
2026-11-08T15: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":"20261108_155102_f30f1df5"}
2026-11-08T15:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.168,"duration_milliseconds":168,"important":true,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226153,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.657,"exec_milliseconds":1657,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226153,"important":true,"run_id":"20261108_155102_f30f1df5"}
2026-11-08T15: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":"20261108_155203_8c991814"}
2026-11-08T15:52:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155203_8c991814"}
2026-11-08T15:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155203_8c991814"}
2026-11-08T15: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":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226253,"run_id":"20261108_155302_36f99267"}
2026-11-08T15:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.644,"exec_milliseconds":1644,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226253,"important":true,"run_id":"20261108_155302_36f99267"}
2026-11-08T15: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":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14319,"mtime":"2026-11-08T15:50:53+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226253,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.666,"exec_milliseconds":1666,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226253,"important":true,"run_id":"20261108_155404_4d9617d2"}
2026-11-08T15:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:55:06+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14467,"mtime":"2026-11-08T15:55:05+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226801,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.627,"exec_milliseconds":1627,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226801,"important":true,"run_id":"20261108_155506_52d2cbde"}
2026-11-08T15: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":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:55:42+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14405,"mtime":"2026-11-08T15:55:41+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226505,"run_id":"20261108_155604_931b9163"}
2026-11-08T15:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.619,"exec_milliseconds":1619,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226505,"important":true,"run_id":"20261108_155604_931b9163"}
2026-11-08T15: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":"20261108_155702_884f1aa8"}
2026-11-08T15:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:56:33+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14482,"mtime":"2026-11-08T15:56:33+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226848,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.723,"exec_milliseconds":1723,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226848,"important":true,"run_id":"20261108_155702_884f1aa8"}
2026-11-08T15: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":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:56:33+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14482,"mtime":"2026-11-08T15:56:33+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":36,"rb":45,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":226946,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.677,"exec_milliseconds":1677,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":226946,"important":true,"run_id":"20261108_155803_8274e69a"}
2026-11-08T15: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":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T15:59:02+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":5906,"mtime":"2026-11-08T15:59:02+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":47,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189986,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T15:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.733,"exec_milliseconds":1733,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":189986,"important":true,"run_id":"20261108_155902_dc1ceb12"}
2026-11-08T16: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":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:35+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6200,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":47,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":191272,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16:00:36+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.713,"exec_milliseconds":1713,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":191272,"important":true,"run_id":"20261108_160034_6e4137f6"}
2026-11-08T16: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":"20261108_160102_d726edab"}
2026-11-08T16:01:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6200,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":47,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.498,"duration_milliseconds":498,"important":true,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.182,"duration_milliseconds":182,"important":true,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.172,"duration_milliseconds":172,"important":true,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":191272,"run_id":"20261108_160102_d726edab"}
2026-11-08T16:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.783,"exec_milliseconds":1783,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":191272,"important":true,"run_id":"20261108_160102_d726edab"}
2026-11-08T16: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":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6200,"mtime":"2026-11-08T16:00:01+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":47,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.504,"duration_milliseconds":504,"important":true,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":191372,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.761,"exec_milliseconds":1761,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":191372,"important":true,"run_id":"20261108_160204_7d7eb5f1"}
2026-11-08T16: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":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:02:45+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6766,"mtime":"2026-11-08T16:02:44+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":49,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":193694,"run_id":"20261108_160302_af827651"}
2026-11-08T16:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.699,"exec_milliseconds":1699,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":193694,"important":true,"run_id":"20261108_160302_af827651"}
2026-11-08T16: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":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:03:51+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6996,"mtime":"2026-11-08T16:03:51+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":49,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":194678,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.604,"exec_milliseconds":1604,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":194678,"important":true,"run_id":"20261108_160403_72f961e0"}
2026-11-08T16: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":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:05:00+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7599,"mtime":"2026-11-08T16:04:59+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":49,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":197285,"run_id":"20261108_160507_67641414"}
2026-11-08T16:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.648,"exec_milliseconds":1648,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":197285,"important":true,"run_id":"20261108_160507_67641414"}
2026-11-08T16: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":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:05:47+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7957,"mtime":"2026-11-08T16:05:46+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":39,"rb":49,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":198873,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.773,"exec_milliseconds":1773,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":198873,"important":true,"run_id":"20261108_160603_10a7f1df"}
2026-11-08T16: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":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:06:54+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8520,"mtime":"2026-11-08T16:06:54+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":42,"rb":49,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":201284,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.755,"exec_milliseconds":1755,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":201284,"important":true,"run_id":"20261108_160702_ae9e7883"}
2026-11-08T16: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":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:07:28+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8751,"mtime":"2026-11-08T16:07:26+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":45,"rb":51,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:06+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.133,"duration_milliseconds":133,"important":true,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202223,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16:08:07+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":3.395,"exec_milliseconds":3395,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":202223,"important":true,"run_id":"20261108_160803_ea8f36bf"}
2026-11-08T16: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":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:09:02+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9396,"mtime":"2026-11-08T16:09:01+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":45,"rb":54,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":204978,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.739,"exec_milliseconds":1739,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":204978,"important":true,"run_id":"20261108_160902_b3ea2d27"}
2026-11-08T16:10: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":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:10:01+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9737,"mtime":"2026-11-08T16:10:01+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":48,"rb":54,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":206425,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.671,"exec_milliseconds":1671,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":206425,"important":true,"run_id":"20261108_161011_20d97d36"}
2026-11-08T16: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":"20261108_161102_1955c2f4"}
2026-11-08T16:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:10:42+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10025,"mtime":"2026-11-08T16:10:42+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":48,"rb":56,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":207647,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.712,"exec_milliseconds":1712,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":207647,"important":true,"run_id":"20261108_161102_1955c2f4"}
2026-11-08T16:12: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":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:11:58+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10558,"mtime":"2026-11-08T16:11:58+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":48,"rb":56,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":209942,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.72,"exec_milliseconds":1720,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":209942,"important":true,"run_id":"20261108_161203_72c22bd4"}
2026-11-08T16: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":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:12:47+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10855,"mtime":"2026-11-08T16:12:47+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":48,"rb":56,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":211235,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.693,"exec_milliseconds":1693,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":211235,"important":true,"run_id":"20261108_161303_cf4a7a6b"}
2026-11-08T16: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":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:13:50+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11427,"mtime":"2026-11-08T16:13:49+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":48,"rb":58,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":213667,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.694,"exec_milliseconds":1694,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":213667,"important":true,"run_id":"20261108_161403_906fc4f7"}
2026-11-08T16: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":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11956,"mtime":"2026-11-08T16:15:14+01:00","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":50,"rb":59,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.436,"duration_milliseconds":436,"important":true,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.176,"duration_milliseconds":176,"important":true,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":199980,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.735,"exec_milliseconds":1735,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":199980,"important":true,"run_id":"20261108_161513_71df28f2"}
2026-11-08T16: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":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:15:47+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12261,"mtime":"2026-11-08T16:15:47+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":50,"rb":59,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":217213,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.755,"exec_milliseconds":1755,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":217213,"important":true,"run_id":"20261108_161603_e28d68df"}
2026-11-08T16: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":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:17:02+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12518,"mtime":"2026-11-08T16:17:00+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":50,"rb":60,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":218314,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.674,"exec_milliseconds":1674,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":218314,"important":true,"run_id":"20261108_161702_bc6ecc89"}
2026-11-08T16: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":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:17:52+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12849,"mtime":"2026-11-08T16:17:51+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":51,"rb":60,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219735,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.737,"exec_milliseconds":1737,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":219735,"important":true,"run_id":"20261108_161804_b78df760"}
2026-11-08T16:19: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":"20261108_161903_ce1ab081"}
2026-11-08T16:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:18:49+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13333,"mtime":"2026-11-08T16:18:49+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":52,"rb":60,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T15:39:55+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.204,"duration_milliseconds":204,"important":true,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.188,"duration_milliseconds":188,"important":true,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":221817,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16:19:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.776,"exec_milliseconds":1776,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":221817,"important":true,"run_id":"20261108_161903_ce1ab081"}
2026-11-08T16: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":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:20:04+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13865,"mtime":"2026-11-08T16:20:04+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":52,"rb":60,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":224005,"run_id":"20261108_162011_f114f525"}
2026-11-08T16:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.723,"exec_milliseconds":1723,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":224005,"important":true,"run_id":"20261108_162011_f114f525"}
2026-11-08T16: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":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:21:03+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14197,"mtime":"2026-11-08T16:21:03+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":54,"rb":60,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225431,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.694,"exec_milliseconds":1694,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225431,"important":true,"run_id":"20261108_162102_11d8e2da"}
2026-11-08T16: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":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:21:33+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14649,"mtime":"2026-11-08T16:21:34+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":54,"rb":60,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.17,"duration_milliseconds":170,"important":true,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":227483,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.654,"exec_milliseconds":1654,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":227483,"important":true,"run_id":"20261108_162203_7bca6258"}
2026-11-08T16: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":"20261108_162302_a8efecb2"}
2026-11-08T16:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:22:56+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14798,"mtime":"2026-11-08T16:22:55+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":54,"rb":60,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.488,"duration_milliseconds":488,"important":true,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":228132,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.698,"exec_milliseconds":1698,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":228132,"important":true,"run_id":"20261108_162302_a8efecb2"}
2026-11-08T16: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":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:23:59+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15475,"mtime":"2026-11-08T16:23:59+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":54,"rb":62,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.177,"duration_milliseconds":177,"important":true,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":231013,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.821,"exec_milliseconds":1821,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":231013,"important":true,"run_id":"20261108_162403_7549bc61"}
2026-11-08T16: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":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:25:02+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15917,"mtime":"2026-11-08T16:25:02+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":62,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":232893,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.609,"exec_milliseconds":1609,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":232893,"important":true,"run_id":"20261108_162507_aae70dca"}
2026-11-08T16: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":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:26:03+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":16220,"mtime":"2026-11-08T16:26:03+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":62,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3605,"mtime":"2026-11-08T16:20:00+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":234200,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.717,"exec_milliseconds":1717,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":234200,"important":true,"run_id":"20261108_162604_7a744ce3"}
2026-11-08T16: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":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:27:01+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":16523,"mtime":"2026-11-08T16:27:00+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":62,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:27:03+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3620,"mtime":"2026-11-08T16:27:03+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.173,"duration_milliseconds":173,"important":true,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":235452,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.701,"exec_milliseconds":1701,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":235452,"important":true,"run_id":"20261108_162702_b2cd59ad"}
2026-11-08T16: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":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:27:59+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":16884,"mtime":"2026-11-08T16:27:58+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3665,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":237098,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.617,"exec_milliseconds":1617,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":237098,"important":true,"run_id":"20261108_162803_5cc76826"}
2026-11-08T16: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":"20261108_162902_d1239eac"}
2026-11-08T16:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:28:24+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":17101,"mtime":"2026-11-08T16:28:24+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3665,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":238294,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.658,"exec_milliseconds":1658,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":238294,"important":true,"run_id":"20261108_162902_d1239eac"}
2026-11-08T16: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":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:25+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:30:19+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":17112,"mtime":"2026-11-08T16:30:19+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.5,"duration_milliseconds":500,"important":true,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3665,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":238323,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.748,"exec_milliseconds":1748,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":238323,"important":true,"run_id":"20261108_163024_5053b9ea"}
2026-11-08T16: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":"20261108_163102_802fb3e4"}
2026-11-08T16:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:30:36+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6329,"mtime":"2026-11-08T16:30:36+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.499,"duration_milliseconds":499,"important":true,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":3665,"mtime":"2026-11-08T16:27:21+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":0,"rb":0,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":191864,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.73,"exec_milliseconds":1730,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":191864,"important":true,"run_id":"20261108_163102_802fb3e4"}
2026-11-08T16: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":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6704,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:32:04+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4000,"mtime":"2026-11-08T16:32:04+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":3,"rb":0,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":194817,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.643,"exec_milliseconds":1643,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":194817,"important":true,"run_id":"20261108_163203_44ed1fbd"}
2026-11-08T16:32:10+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:10+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6704,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:32:04+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:11+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4000,"mtime":"2026-11-08T16:32:04+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":3,"rb":0,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":194038,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16:32:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.591,"exec_milliseconds":1591,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":194038,"important":true,"run_id":"20261108_163210_7094c9cb"}
2026-11-08T16: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":"20261108_163302_f57a4fae"}
2026-11-08T16:33:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":6704,"mtime":"2026-11-08T16:31:45+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":56,"rb":64,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:32:55+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4322,"mtime":"2026-11-08T16:32:55+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":3,"rb":0,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":196167,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.724,"exec_milliseconds":1724,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":196167,"important":true,"run_id":"20261108_163302_f57a4fae"}
2026-11-08T16: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":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:33:56+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7125,"mtime":"2026-11-08T16:33:56+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":59,"rb":64,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:34:01+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4768,"mtime":"2026-11-08T16:34:01+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":3,"rb":2,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":199840,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.784,"exec_milliseconds":1784,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":199840,"important":true,"run_id":"20261108_163403_68c3e1b4"}
2026-11-08T16: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":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:35:00+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7654,"mtime":"2026-11-08T16:35:00+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":59,"rb":64,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:35:01+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5188,"mtime":"2026-11-08T16:35:01+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":5,"rb":2,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203907,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.624,"exec_milliseconds":1624,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":203907,"important":true,"run_id":"20261108_163507_33e4a7d6"}
2026-11-08T16: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":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4123,"mtime":"2026-11-08T16:35:53+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":7955,"mtime":"2026-11-08T16:35:53+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":59,"rb":64,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:35:57+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5310,"mtime":"2026-11-08T16:35:56+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":5,"rb":5,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":205690,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.601,"exec_milliseconds":1601,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":205690,"important":true,"run_id":"20261108_163603_65f1a9f0"}
2026-11-08T16: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":"20261108_163702_c7bf3839"}
2026-11-08T16:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:36:30+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8141,"mtime":"2026-11-08T16:36:30+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":62,"rb":64,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:36:19+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5461,"mtime":"2026-11-08T16:36:19+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":5,"rb":5,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":207130,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.674,"exec_milliseconds":1674,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":207130,"important":true,"run_id":"20261108_163702_c7bf3839"}
2026-11-08T16: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":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:37:50+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8217,"mtime":"2026-11-08T16:37:49+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":62,"rb":64,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:38:04+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6030,"mtime":"2026-11-08T16:38:04+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":7,"rb":5,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":209881,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.759,"exec_milliseconds":1759,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":209881,"important":true,"run_id":"20261108_163803_a38e1495"}
2026-11-08T16: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":"20261108_163902_a4994c3c"}
2026-11-08T16:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:38:55+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":8441,"mtime":"2026-11-08T16:38:55+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":64,"rb":66,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:38:50+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6526,"mtime":"2026-11-08T16:38:50+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":9,"rb":5,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":212915,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.728,"exec_milliseconds":1728,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":212915,"important":true,"run_id":"20261108_163902_a4994c3c"}
2026-11-08T16: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":"20261108_164011_6b2798e4"}
2026-11-08T16:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:40:12+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9044,"mtime":"2026-11-08T16:40:12+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.498,"duration_milliseconds":498,"important":true,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:40:07+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7204,"mtime":"2026-11-08T16:40:07+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":9,"rb":5,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":218404,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.69,"exec_milliseconds":1690,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":218404,"important":true,"run_id":"20261108_164011_6b2798e4"}
2026-11-08T16: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":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:40:52+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9578,"mtime":"2026-11-08T16:40:52+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4048,"mtime":"2026-11-08T16:40:57+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7608,"mtime":"2026-11-08T16:41:04+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":9,"rb":5,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":222390,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.7,"exec_milliseconds":1700,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":222390,"important":true,"run_id":"20261108_164102_f33fdfe3"}
2026-11-08T16: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":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:41:38+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":9959,"mtime":"2026-11-08T16:41:37+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:41:45+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7946,"mtime":"2026-11-08T16:41:45+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":11,"rb":5,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":225470,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.682,"exec_milliseconds":1682,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":225470,"important":true,"run_id":"20261108_164203_83e32df0"}
2026-11-08T16: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":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:42:35+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10415,"mtime":"2026-11-08T16:42:34+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.494,"duration_milliseconds":494,"important":true,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:42:33+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7951,"mtime":"2026-11-08T16:42:33+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":11,"rb":5,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":227447,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.713,"exec_milliseconds":1713,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":227447,"important":true,"run_id":"20261108_164302_f0bcdbf2"}
2026-11-08T16: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":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:43:55+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":10640,"mtime":"2026-11-08T16:43:55+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:43:58+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8299,"mtime":"2026-11-08T16:43:57+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":11,"rb":8,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":229884,"run_id":"20261108_164403_171acab4"}
2026-11-08T16:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.687,"exec_milliseconds":1687,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":229884,"important":true,"run_id":"20261108_164403_171acab4"}
2026-11-08T16: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":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:45:00+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11166,"mtime":"2026-11-08T16:45:00+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":66,"rb":68,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:45:13+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8918,"mtime":"2026-11-08T16:45:12+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":13,"rb":11,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.176,"duration_milliseconds":176,"important":true,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":234753,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.789,"exec_milliseconds":1789,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":234753,"important":true,"run_id":"20261108_164513_c12806e0"}
2026-11-08T16: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":"20261108_164603_9e8d5029"}
2026-11-08T16:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:45:57+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11382,"mtime":"2026-11-08T16:45:55+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":68,"rb":68,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:46:04+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9186,"mtime":"2026-11-08T16:46:04+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":13,"rb":14,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":236781,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.703,"exec_milliseconds":1703,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":236781,"important":true,"run_id":"20261108_164603_9e8d5029"}
2026-11-08T16: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":"20261108_164702_547a3601"}
2026-11-08T16:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:47:01+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11868,"mtime":"2026-11-08T16:47:01+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":70,"rb":68,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:46:55+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9565,"mtime":"2026-11-08T16:46:55+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":13,"rb":14,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":240502,"run_id":"20261108_164702_547a3601"}
2026-11-08T16:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.655,"exec_milliseconds":1655,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":240502,"important":true,"run_id":"20261108_164702_547a3601"}
2026-11-08T16: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":"20261108_164804_54f23bce"}
2026-11-08T16:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:47:07+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":11944,"mtime":"2026-11-08T16:47:06+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":70,"rb":68,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:47:52+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10129,"mtime":"2026-11-08T16:47:52+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":16,"rb":16,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:06+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:06+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":243148,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16:48:06+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.701,"exec_milliseconds":1701,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":243148,"important":true,"run_id":"20261108_164804_54f23bce"}
2026-11-08T16: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":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:48:39+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12247,"mtime":"2026-11-08T16:48:39+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":70,"rb":68,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:49:04+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10700,"mtime":"2026-11-08T16:49:03+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":16,"rb":18,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":246886,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.744,"exec_milliseconds":1744,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":246886,"important":true,"run_id":"20261108_164902_43f5f03b"}
2026-11-08T16: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":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:11+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:49:47+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":12661,"mtime":"2026-11-08T16:49:47+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":72,"rb":68,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:50:01+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11161,"mtime":"2026-11-08T16:50:01+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":18,"rb":20,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":250579,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.693,"exec_milliseconds":1693,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":250579,"important":true,"run_id":"20261108_165011_c4c143d0"}
2026-11-08T16: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":"20261108_165102_6dc90a67"}
2026-11-08T16:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:51:00+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13185,"mtime":"2026-11-08T16:51:00+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":72,"rb":72,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:51:00+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11539,"mtime":"2026-11-08T16:51:00+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":22,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":254381,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.743,"exec_milliseconds":1743,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":254381,"important":true,"run_id":"20261108_165102_6dc90a67"}
2026-11-08T16: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":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:52:03+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":13752,"mtime":"2026-11-08T16:52:03+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":74,"rb":72,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:51:50+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11757,"mtime":"2026-11-08T16:51:50+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":22,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.166,"duration_milliseconds":166,"important":true,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":257760,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.812,"exec_milliseconds":1812,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":257760,"important":true,"run_id":"20261108_165203_6fb62234"}
2026-11-08T16: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":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:52:58+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14077,"mtime":"2026-11-08T16:53:00+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":75,"rb":72,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:52:37+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11840,"mtime":"2026-11-08T16:52:36+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":22,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.196,"duration_milliseconds":196,"important":true,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":259526,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.809,"exec_milliseconds":1809,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":259526,"important":true,"run_id":"20261108_165302_e42ebd0e"}
2026-11-08T16: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":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:54:02+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14452,"mtime":"2026-11-08T16:54:02+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":75,"rb":72,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:53:52+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4720,"mtime":"2026-11-08T16:53:52+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":25,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":230489,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.741,"exec_milliseconds":1741,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":230489,"important":true,"run_id":"20261108_165403_eee12d3f"}
2026-11-08T16: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":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:55:06+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14785,"mtime":"2026-11-08T16:55:06+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":75,"rb":73,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:55:03+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":4892,"mtime":"2026-11-08T16:55:03+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":25,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.166,"duration_milliseconds":166,"important":true,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":232616,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.783,"exec_milliseconds":1783,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":232616,"important":true,"run_id":"20261108_165506_a86a3e80"}
2026-11-08T16: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":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:55:23+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14929,"mtime":"2026-11-08T16:55:23+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":75,"rb":73,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:55:56+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5195,"mtime":"2026-11-08T16:55:56+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":19,"rb":25,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":234559,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.683,"exec_milliseconds":1683,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":234559,"important":true,"run_id":"20261108_165603_ab2379bb"}
2026-11-08T16: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":"20261108_165702_1061d48c"}
2026-11-08T16:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:55:23+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":14929,"mtime":"2026-11-08T16:55:23+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":75,"rb":73,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:56:43+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5513,"mtime":"2026-11-08T16:56:43+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":21,"rb":27,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":235951,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.762,"exec_milliseconds":1762,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":235951,"important":true,"run_id":"20261108_165702_1061d48c"}
2026-11-08T16: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":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:57:57+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15338,"mtime":"2026-11-08T16:57:57+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":76,"rb":73,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:57:58+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5905,"mtime":"2026-11-08T16:57:58+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":27,"rb":27,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":239220,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.72,"exec_milliseconds":1720,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":239220,"important":true,"run_id":"20261108_165803_6ea47903"}
2026-11-08T16:59: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":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T16:58:26+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15411,"mtime":"2026-11-08T16:58:26+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":76,"rb":73,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T16:58:28+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5905,"mtime":"2026-11-08T16:58:28+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":27,"rb":27,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":239539,"run_id":"20261108_165903_46774a20"}
2026-11-08T16:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.641,"exec_milliseconds":1641,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":239539,"important":true,"run_id":"20261108_165903_46774a20"}
2026-11-08T17:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:00:32+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15816,"mtime":"2026-11-08T17:00:32+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:00:14+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6231,"mtime":"2026-11-08T17:00:14+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":29,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":242592,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17:00:35+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.684,"exec_milliseconds":1684,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":242592,"important":true,"run_id":"20261108_170033_76eb28c9"}
2026-11-08T17: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":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:00:38+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15897,"mtime":"2026-11-08T17:00:36+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:00:36+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6349,"mtime":"2026-11-08T17:00:36+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":32,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":243409,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.796,"exec_milliseconds":1796,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":243409,"important":true,"run_id":"20261108_170102_2015b69c"}
2026-11-08T17: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":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:01:23+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:01:23+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:01:49+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7455,"mtime":"2026-11-08T17:02:05+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":34,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.139,"duration_milliseconds":139,"important":true,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":248432,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.677,"exec_milliseconds":1677,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":248432,"important":true,"run_id":"20261108_170203_ddf2dbec"}
2026-11-08T17: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":"20261108_170302_6b682400"}
2026-11-08T17:03:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:01:23+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:01:23+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.498,"duration_milliseconds":498,"important":true,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:03:01+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7987,"mtime":"2026-11-08T17:03:01+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":34,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.173,"duration_milliseconds":173,"important":true,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.174,"duration_milliseconds":174,"important":true,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":250726,"run_id":"20261108_170302_6b682400"}
2026-11-08T17:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.791,"exec_milliseconds":1791,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":250726,"important":true,"run_id":"20261108_170302_6b682400"}
2026-11-08T17: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":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:03:57+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:03:57+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:03:41+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8524,"mtime":"2026-11-08T17:03:41+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":34,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":253029,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.659,"exec_milliseconds":1659,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":253029,"important":true,"run_id":"20261108_170403_7ecf1b53"}
2026-11-08T17: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":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:04:58+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:04:58+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:04:47+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9143,"mtime":"2026-11-08T17:04:47+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":34,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":255672,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.671,"exec_milliseconds":1671,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":255672,"important":true,"run_id":"20261108_170507_3f2cb25b"}
2026-11-08T17: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":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:05:42+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:05:42+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:06:04+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9675,"mtime":"2026-11-08T17:06:04+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":30,"rb":34,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":257962,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.651,"exec_milliseconds":1651,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":257962,"important":true,"run_id":"20261108_170603_e98b9306"}
2026-11-08T17: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":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:06:44+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10079,"mtime":"2026-11-08T17:06:44+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":31,"rb":34,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.136,"duration_milliseconds":136,"important":true,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":259706,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.634,"exec_milliseconds":1634,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":259706,"important":true,"run_id":"20261108_170702_a96e0724"}
2026-11-08T17: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":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:07:39+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10493,"mtime":"2026-11-08T17:07:38+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":33,"rb":34,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":261472,"run_id":"20261108_170803_d816b524"}
2026-11-08T17:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.653,"exec_milliseconds":1653,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":261472,"important":true,"run_id":"20261108_170803_d816b524"}
2026-11-08T17: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":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4124,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:06:18+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:08:55+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10787,"mtime":"2026-11-08T17:08:54+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":33,"rb":34,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.173,"duration_milliseconds":173,"important":true,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":262758,"run_id":"20261108_170902_76092a57"}
2026-11-08T17:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.731,"exec_milliseconds":1731,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":262758,"important":true,"run_id":"20261108_170902_76092a57"}
2026-11-08T17: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":"20261108_171013_1bccc608"}
2026-11-08T17:10:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:09:30+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:09:28+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:10:08+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11537,"mtime":"2026-11-08T17:10:08+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":35,"rb":35,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":265799,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17:10:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.698,"exec_milliseconds":1698,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":265799,"important":true,"run_id":"20261108_171013_1bccc608"}
2026-11-08T17: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":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:09:30+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:09:28+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:11:03+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11907,"mtime":"2026-11-08T17:11:03+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":35,"rb":37,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":267361,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.698,"exec_milliseconds":1698,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":267361,"important":true,"run_id":"20261108_171102_27eb9897"}
2026-11-08T17: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":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4049,"mtime":"2026-11-08T17:11:39+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12282,"mtime":"2026-11-08T17:11:39+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":35,"rb":37,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269002,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.68,"exec_milliseconds":1680,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269002,"important":true,"run_id":"20261108_171204_aef4fec3"}
2026-11-08T17: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":"20261108_171302_6382441a"}
2026-11-08T17:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:12:40+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12429,"mtime":"2026-11-08T17:12:40+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":35,"rb":37,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269646,"run_id":"20261108_171302_6382441a"}
2026-11-08T17:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.731,"exec_milliseconds":1731,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269646,"important":true,"run_id":"20261108_171302_6382441a"}
2026-11-08T17: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":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:14:00+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12505,"mtime":"2026-11-08T17:14:00+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":35,"rb":37,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.197,"duration_milliseconds":197,"important":true,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269976,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.835,"exec_milliseconds":1835,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269976,"important":true,"run_id":"20261108_171404_5a49b5b2"}
2026-11-08T17: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":"20261108_171515_11d4eff6"}
2026-11-08T17:15:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:15:14+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13641,"mtime":"2026-11-08T17:15:14+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":37,"rb":39,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:16+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":274824,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17:15:17+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.607,"exec_milliseconds":1607,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":274824,"important":true,"run_id":"20261108_171515_11d4eff6"}
2026-11-08T17: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":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:16:03+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14208,"mtime":"2026-11-08T17:16:03+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":37,"rb":41,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.137,"duration_milliseconds":137,"important":true,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":277247,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.702,"exec_milliseconds":1702,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":277247,"important":true,"run_id":"20261108_171604_6b4dd198"}
2026-11-08T17: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":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:16:56+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14626,"mtime":"2026-11-08T17:16:56+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":37,"rb":42,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":279025,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.692,"exec_milliseconds":1692,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":279025,"important":true,"run_id":"20261108_171702_29e549e9"}
2026-11-08T17: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":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:17:50+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14923,"mtime":"2026-11-08T17:17:49+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.171,"duration_milliseconds":171,"important":true,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280268,"run_id":"20261108_171804_c104af10"}
2026-11-08T17:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.767,"exec_milliseconds":1767,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280268,"important":true,"run_id":"20261108_171804_c104af10"}
2026-11-08T17: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":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:18:58+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14926,"mtime":"2026-11-08T17:18:58+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280275,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.691,"exec_milliseconds":1691,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280275,"important":true,"run_id":"20261108_171902_b41e5523"}
2026-11-08T17: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":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:12+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.556,"duration_milliseconds":556,"important":true,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:19:40+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:19:39+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281538,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.751,"exec_milliseconds":1751,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281538,"important":true,"run_id":"20261108_172011_9f0c3e7b"}
2026-11-08T17: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":"20261108_172102_ad335324"}
2026-11-08T17:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:19:40+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:19:39+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281538,"run_id":"20261108_172102_ad335324"}
2026-11-08T17:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.592,"exec_milliseconds":1592,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281538,"important":true,"run_id":"20261108_172102_ad335324"}
2026-11-08T17: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":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:21:59+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:21:58+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.169,"duration_milliseconds":169,"important":true,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281538,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.753,"exec_milliseconds":1753,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281538,"important":true,"run_id":"20261108_172203_e37e0f6d"}
2026-11-08T17: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":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:21:59+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:21:58+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281538,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.732,"exec_milliseconds":1732,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281538,"important":true,"run_id":"20261108_172302_dfd646e1"}
2026-11-08T17: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":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:21:59+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:21:58+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281538,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.738,"exec_milliseconds":1738,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281538,"important":true,"run_id":"20261108_172403_23b662fa"}
2026-11-08T17:25:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:07+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:24:55+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15285,"mtime":"2026-11-08T17:24:54+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281963,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.678,"exec_milliseconds":1678,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281963,"important":true,"run_id":"20261108_172506_2d72d393"}
2026-11-08T17: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":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.494,"duration_milliseconds":494,"important":true,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281638,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.739,"exec_milliseconds":1739,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281638,"important":true,"run_id":"20261108_172603_abaa6393"}
2026-11-08T17: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":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.478,"duration_milliseconds":478,"important":true,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.135,"duration_milliseconds":135,"important":true,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.138,"duration_milliseconds":138,"important":true,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281640,"run_id":"20261108_172702_b855468d"}
2026-11-08T17:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.649,"exec_milliseconds":1649,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281640,"important":true,"run_id":"20261108_172702_b855468d"}
2026-11-08T17: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":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:04+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.475,"duration_milliseconds":475,"important":true,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281642,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.694,"exec_milliseconds":1694,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281642,"important":true,"run_id":"20261108_172803_7ab71a70"}
2026-11-08T17: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":"20261108_172902_f8a835c8"}
2026-11-08T17:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281642,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.68,"exec_milliseconds":1680,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281642,"important":true,"run_id":"20261108_172902_f8a835c8"}
2026-11-08T17: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":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Live games query successful {"count":3,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Processing live game {"spiel_id":2006861,"team_id":428,"league":"BBL","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":428,"spiel_id":2006861,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861_INIT.JSN","size":4128,"mtime":"2026-11-08T17:11:20+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006861,"file":"2006861_INIT.JSN","referee_count":4,"spect":2746,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006861,"file":"2006861.JSN","size":15960,"mtime":"2026-11-08T17:11:19+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006861,"file":"2006861.JSN","ra":77,"rb":73,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006861,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live game timing {"spiel_id":2006861,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.174,"duration_milliseconds":174,"important":true,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":281642,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.742,"exec_milliseconds":1742,"live_games":3,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":281642,"important":true,"run_id":"20261108_173024_fad8eef2"}
2026-11-08T17: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":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:25:40+01:00","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189704,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.649,"exec_milliseconds":1649,"live_games":2,"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":189704,"important":true,"run_id":"20261108_173102_1b19d075"}
2026-11-08T17: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":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:31:50+01:00","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15210,"mtime":"2026-11-08T17:31:50+01:00","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189704,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.671,"exec_milliseconds":1671,"live_games":2,"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":189704,"important":true,"run_id":"20261108_173203_9a1a8fc6"}
2026-11-08T17: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":"20261108_173302_432db98a"}
2026-11-08T17:33:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:32:59+01:00","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15221,"mtime":"2026-11-08T17:32:59+01:00","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":6049,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5611,"mtime":"2026-11-08T14:39:26+01:00","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.167,"duration_milliseconds":167,"important":true,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189738,"run_id":"20261108_173302_432db98a"}
2026-11-08T17:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.666,"exec_milliseconds":1666,"live_games":2,"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":189738,"important":true,"run_id":"20261108_173302_432db98a"}
2026-11-08T17: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":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:32:59+01:00","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15221,"mtime":"2026-11-08T17:32:59+01:00","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":5515,"mtime":"2026-11-08T17:33:48+01:00","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5075,"mtime":"2026-11-08T17:33:48+01:00","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":184800,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.625,"exec_milliseconds":1625,"live_games":2,"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":184800,"important":true,"run_id":"20261108_173403_985fa11a"}
2026-11-08T17: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":"20261108_173507_979e8dac"}
2026-11-08T17:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:34:38+01:00","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5400,"mtime":"2026-11-08T17:34:38+01:00","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4284,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.057,"duration_milliseconds":57,"important":true,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":131523,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.646,"exec_milliseconds":1646,"live_games":2,"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":131523,"important":true,"run_id":"20261108_173507_979e8dac"}
2026-11-08T17: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":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:35:55+01:00","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":5858,"mtime":"2026-11-08T17:35:55+01:00","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":44,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4284,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.166,"duration_milliseconds":166,"important":true,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":133493,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.668,"exec_milliseconds":1668,"live_games":2,"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":133493,"important":true,"run_id":"20261108_173603_fcf5515c"}
2026-11-08T17: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":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:36:53+01:00","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6124,"mtime":"2026-11-08T17:36:53+01:00","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":39,"rb":47,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4284,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:35:07+01:00","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.157,"duration_milliseconds":157,"important":true,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134715,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.549,"exec_milliseconds":1549,"live_games":2,"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":134715,"important":true,"run_id":"20261108_173702_0ed2025e"}
2026-11-08T17: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":"20261108_173804_48ca6d27"}
2026-11-08T17:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:37:48+01:00","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6450,"mtime":"2026-11-08T17:37:48+01:00","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":40,"rb":47,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":135868,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.626,"exec_milliseconds":1626,"live_games":2,"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":135868,"important":true,"run_id":"20261108_173804_48ca6d27"}
2026-11-08T17: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":"20261108_173902_7f9959ef"}
2026-11-08T17:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:38:56+01:00","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6780,"mtime":"2026-11-08T17:38:56+01:00","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":40,"rb":48,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":137388,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.659,"exec_milliseconds":1659,"live_games":2,"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":137388,"important":true,"run_id":"20261108_173902_7f9959ef"}
2026-11-08T17: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":"20261108_174011_3afb1d59"}
2026-11-08T17:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:40:10+01:00","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7448,"mtime":"2026-11-08T17:40:10+01:00","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":40,"rb":48,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.167,"duration_milliseconds":167,"important":true,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":140298,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.598,"exec_milliseconds":1598,"live_games":2,"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":140298,"important":true,"run_id":"20261108_174011_3afb1d59"}
2026-11-08T17: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":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:40:50+01:00","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7826,"mtime":"2026-11-08T17:40:50+01:00","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":40,"rb":48,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":141930,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.634,"exec_milliseconds":1634,"live_games":2,"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":141930,"important":true,"run_id":"20261108_174102_ac6d7902"}
2026-11-08T17: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":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:42:02+01:00","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8425,"mtime":"2026-11-08T17:42:01+01:00","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":42,"rb":50,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.056,"duration_milliseconds":56,"important":true,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":144479,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.615,"exec_milliseconds":1615,"live_games":2,"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":144479,"important":true,"run_id":"20261108_174203_02c4e994"}
2026-11-08T17: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":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:42:02+01:00","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8425,"mtime":"2026-11-08T17:42:01+01:00","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":42,"rb":50,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.153,"duration_milliseconds":153,"important":true,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":144479,"run_id":"20261108_174302_17b94121"}
2026-11-08T17:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.6,"exec_milliseconds":1600,"live_games":2,"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":144479,"important":true,"run_id":"20261108_174302_17b94121"}
2026-11-08T17: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":"20261108_174404_1f0755df"}
2026-11-08T17:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:43:55+01:00","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8606,"mtime":"2026-11-08T17:43:54+01:00","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":42,"rb":51,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":145250,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.619,"exec_milliseconds":1619,"live_games":2,"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":145250,"important":true,"run_id":"20261108_174404_1f0755df"}
2026-11-08T17:45: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":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:44:52+01:00","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9174,"mtime":"2026-11-08T17:44:53+01:00","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":44,"rb":51,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":147674,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.559,"exec_milliseconds":1559,"live_games":2,"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":147674,"important":true,"run_id":"20261108_174513_bc17d3e1"}
2026-11-08T17: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":"20261108_174603_595d8356"}
2026-11-08T17:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4050,"mtime":"2026-11-08T17:45:52+01:00","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9326,"mtime":"2026-11-08T17:45:52+01:00","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":44,"rb":51,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":148330,"run_id":"20261108_174603_595d8356"}
2026-11-08T17:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.623,"exec_milliseconds":1623,"live_games":2,"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":148330,"important":true,"run_id":"20261108_174603_595d8356"}
2026-11-08T17: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":"20261108_174702_baa47f52"}
2026-11-08T17:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:46:38+01:00","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9734,"mtime":"2026-11-08T17:46:38+01:00","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":44,"rb":52,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.168,"duration_milliseconds":168,"important":true,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":150087,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.668,"exec_milliseconds":1668,"live_games":2,"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":150087,"important":true,"run_id":"20261108_174702_baa47f52"}
2026-11-08T17: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":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:47:40+01:00","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10020,"mtime":"2026-11-08T17:47:40+01:00","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":44,"rb":54,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3869,"mtime":"2026-11-08T17:37:24+01:00","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.144,"duration_milliseconds":144,"important":true,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":151303,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.593,"exec_milliseconds":1593,"live_games":2,"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":151303,"important":true,"run_id":"20261108_174803_07ec4a29"}
2026-11-08T17: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":"20261108_174902_707356f8"}
2026-11-08T17:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:48:55+01:00","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10388,"mtime":"2026-11-08T17:48:55+01:00","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":46,"rb":54,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152795,"run_id":"20261108_174902_707356f8"}
2026-11-08T17:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.601,"exec_milliseconds":1601,"live_games":2,"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":152795,"important":true,"run_id":"20261108_174902_707356f8"}
2026-11-08T17: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":"20261108_175011_0f00df8d"}
2026-11-08T17:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:50:00+01:00","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10932,"mtime":"2026-11-08T17:50:00+01:00","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":48,"rb":57,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.186,"duration_milliseconds":186,"important":true,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":155161,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:50:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.638,"exec_milliseconds":1638,"live_games":2,"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":155161,"important":true,"run_id":"20261108_175011_0f00df8d"}
2026-11-08T17:51: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":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:50:41+01:00","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11384,"mtime":"2026-11-08T17:50:41+01:00","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":48,"rb":57,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.488,"duration_milliseconds":488,"important":true,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.154,"duration_milliseconds":154,"important":true,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":157119,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.604,"exec_milliseconds":1604,"live_games":2,"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":157119,"important":true,"run_id":"20261108_175102_8c401d78"}
2026-11-08T17: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":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:51:57+01:00","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12115,"mtime":"2026-11-08T17:51:57+01:00","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":51,"rb":57,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.519,"duration_milliseconds":519,"important":true,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":160226,"run_id":"20261108_175203_c2108897"}
2026-11-08T17:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.615,"exec_milliseconds":1615,"live_games":2,"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":160226,"important":true,"run_id":"20261108_175203_c2108897"}
2026-11-08T17: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":"20261108_175302_63b07fb7"}
2026-11-08T17:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:52:32+01:00","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12115,"mtime":"2026-11-08T17:52:32+01:00","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":51,"rb":57,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":160226,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.653,"exec_milliseconds":1653,"live_games":2,"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":160226,"important":true,"run_id":"20261108_175302_63b07fb7"}
2026-11-08T17: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":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:53:31+01:00","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12190,"mtime":"2026-11-08T17:53:31+01:00","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":51,"rb":57,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.169,"duration_milliseconds":169,"important":true,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":160551,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.631,"exec_milliseconds":1631,"live_games":2,"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":160551,"important":true,"run_id":"20261108_175403_9a05c634"}
2026-11-08T17:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:06+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:06+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:06+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:54:54+01:00","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12683,"mtime":"2026-11-08T17:54:53+01:00","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":53,"rb":57,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:07+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.06,"duration_milliseconds":60,"important":true,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":162650,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.643,"exec_milliseconds":1643,"live_games":2,"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":162650,"important":true,"run_id":"20261108_175506_5807a3f1"}
2026-11-08T17: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":"20261108_175603_d33121cc"}
2026-11-08T17:56:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:55:39+01:00","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12969,"mtime":"2026-11-08T17:55:38+01:00","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":53,"rb":59,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":163866,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.675,"exec_milliseconds":1675,"live_games":2,"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":163866,"important":true,"run_id":"20261108_175603_d33121cc"}
2026-11-08T17: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":"20261108_175702_cede0979"}
2026-11-08T17:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:56:21+01:00","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13186,"mtime":"2026-11-08T17:56:21+01:00","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":53,"rb":59,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":164825,"run_id":"20261108_175702_cede0979"}
2026-11-08T17:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.582,"exec_milliseconds":1582,"live_games":2,"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":164825,"important":true,"run_id":"20261108_175702_cede0979"}
2026-11-08T17: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":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:57:53+01:00","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13896,"mtime":"2026-11-08T17:57:53+01:00","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [WARN] Scout JSON decode failed {"spiel_id":2006863,"file":"2006863.JSN","error":"empty payload","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":106586,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17:58:05+01:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":1.624,"exec_milliseconds":1624,"live_games":2,"fallback_games":1,"warnings":1,"errors":0,"json_errors":1,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":106586,"important":true,"run_id":"20261108_175803_3922ae54"}
2026-11-08T17: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":"20261108_175902_fa995b48"}
2026-11-08T17:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T17:58:55+01:00","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14407,"mtime":"2026-11-08T17:58:55+01:00","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":57,"rb":59,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T17:48:36+01:00","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":170074,"run_id":"20261108_175902_fa995b48"}
2026-11-08T17:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.543,"exec_milliseconds":1543,"live_games":2,"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":170074,"important":true,"run_id":"20261108_175902_fa995b48"}
2026-11-08T18: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":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:35+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:00:23+01:00","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14631,"mtime":"2026-11-08T18:00:23+01:00","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":57,"rb":59,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:00:14+01:00","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":3879,"mtime":"2026-11-08T18:00:14+01:00","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.158,"duration_milliseconds":158,"important":true,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":170944,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18:00:36+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.569,"exec_milliseconds":1569,"live_games":2,"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":170944,"important":true,"run_id":"20261108_180035_9f83c842"}
2026-11-08T18: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":"20261108_180102_2204e701"}
2026-11-08T18:01:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:00:57+01:00","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15005,"mtime":"2026-11-08T18:00:57+01:00","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.516,"duration_milliseconds":516,"important":true,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:01:00+01:00","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":4066,"mtime":"2026-11-08T18:01:00+01:00","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":0,"rb":0,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.159,"duration_milliseconds":159,"important":true,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":173385,"run_id":"20261108_180102_2204e701"}
2026-11-08T18:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.713,"exec_milliseconds":1713,"live_games":2,"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":173385,"important":true,"run_id":"20261108_180102_2204e701"}
2026-11-08T18: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":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:01:46+01:00","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15232,"mtime":"2026-11-08T18:01:45+01:00","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:01:42+01:00","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":4479,"mtime":"2026-11-08T18:01:42+01:00","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":3,"rb":3,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":176027,"run_id":"20261108_180204_4631865c"}
2026-11-08T18:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.6,"exec_milliseconds":1600,"live_games":2,"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":176027,"important":true,"run_id":"20261108_180204_4631865c"}
2026-11-08T18: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":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:01:46+01:00","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15232,"mtime":"2026-11-08T18:01:45+01:00","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.463,"duration_milliseconds":463,"important":true,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:02:51+01:00","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":4944,"mtime":"2026-11-08T18:02:51+01:00","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":9,"rb":7,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":177912,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.648,"exec_milliseconds":1648,"live_games":2,"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":177912,"important":true,"run_id":"20261108_180302_c0c8f8a9"}
2026-11-08T18: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":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:04:00+01:00","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15460,"mtime":"2026-11-08T18:04:00+01:00","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:04:04+01:00","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5647,"mtime":"2026-11-08T18:04:04+01:00","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":11,"rb":9,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.165,"duration_milliseconds":165,"important":true,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":181837,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.639,"exec_milliseconds":1639,"live_games":2,"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":181837,"important":true,"run_id":"20261108_180403_1731f29d"}
2026-11-08T18: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":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:05:06+01:00","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15451,"mtime":"2026-11-08T18:05:06+01:00","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:04:50+01:00","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5915,"mtime":"2026-11-08T18:04:50+01:00","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":11,"rb":11,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:09+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:09+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:09+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:09+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":182944,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18:05:09+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.602,"exec_milliseconds":1602,"live_games":2,"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":182944,"important":true,"run_id":"20261108_180507_8b3d9ab3"}
2026-11-08T18: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":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:06:04+01:00","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15391,"mtime":"2026-11-08T18:06:03+01:00","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:06:00+01:00","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6285,"mtime":"2026-11-08T18:06:00+01:00","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":13,"rb":11,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.149,"duration_milliseconds":149,"important":true,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":184222,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.572,"exec_milliseconds":1572,"live_games":2,"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":184222,"important":true,"run_id":"20261108_180603_2eaecd45"}
2026-11-08T18: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":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:06:49+01:00","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6135,"mtime":"2026-11-08T18:06:49+01:00","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":59,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:07:02+01:00","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6816,"mtime":"2026-11-08T18:07:02+01:00","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":13,"rb":15,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":146561,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.532,"exec_milliseconds":1532,"live_games":2,"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":146561,"important":true,"run_id":"20261108_180702_e65f2267"}
2026-11-08T18: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":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:07:41+01:00","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":6703,"mtime":"2026-11-08T18:07:41+01:00","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":59,"rb":61,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:07:48+01:00","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7395,"mtime":"2026-11-08T18:07:48+01:00","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":15,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":151440,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.66,"exec_milliseconds":1660,"live_games":2,"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":151440,"important":true,"run_id":"20261108_180804_c5d65c75"}
2026-11-08T18: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":"20261108_180902_14331554"}
2026-11-08T18:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:08:49+01:00","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7119,"mtime":"2026-11-08T18:08:50+01:00","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":61,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:09:02+01:00","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7895,"mtime":"2026-11-08T18:09:02+01:00","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":18,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":155326,"run_id":"20261108_180902_14331554"}
2026-11-08T18:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.63,"exec_milliseconds":1630,"live_games":2,"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":155326,"important":true,"run_id":"20261108_180902_14331554"}
2026-11-08T18:10: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":"20261108_181011_3401a2e0"}
2026-11-08T18:10:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:10:11+01:00","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7532,"mtime":"2026-11-08T18:10:11+01:00","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":63,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:09:48+01:00","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8283,"mtime":"2026-11-08T18:09:48+01:00","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":18,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":158745,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18:10:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.604,"exec_milliseconds":1604,"live_games":2,"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":158745,"important":true,"run_id":"20261108_181011_3401a2e0"}
2026-11-08T18: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":"20261108_181102_9677a3e9"}
2026-11-08T18:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:10:41+01:00","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":7709,"mtime":"2026-11-08T18:10:41+01:00","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:10:39+01:00","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8812,"mtime":"2026-11-08T18:10:39+01:00","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":18,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":161795,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.567,"exec_milliseconds":1567,"live_games":2,"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":161795,"important":true,"run_id":"20261108_181102_9677a3e9"}
2026-11-08T18:12: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":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:12:04+01:00","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8158,"mtime":"2026-11-08T18:12:04+01:00","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:11:37+01:00","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9128,"mtime":"2026-11-08T18:11:37+01:00","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":18,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.136,"duration_milliseconds":136,"important":true,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":165080,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.575,"exec_milliseconds":1575,"live_games":2,"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":165080,"important":true,"run_id":"20261108_181203_200d5ff8"}
2026-11-08T18: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":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:12:56+01:00","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8452,"mtime":"2026-11-08T18:12:56+01:00","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4288,"mtime":"2026-11-08T18:13:01+01:00","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9834,"mtime":"2026-11-08T18:13:01+01:00","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":23,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":169312,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":2,"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":169312,"important":true,"run_id":"20261108_181302_6ac6c094"}
2026-11-08T18: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":"20261108_181404_849590a9"}
2026-11-08T18:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:13:19+01:00","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":8741,"mtime":"2026-11-08T18:13:18+01:00","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:13:06+01:00","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9907,"mtime":"2026-11-08T18:13:05+01:00","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":23,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":170909,"run_id":"20261108_181404_849590a9"}
2026-11-08T18:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.592,"exec_milliseconds":1592,"live_games":2,"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":170909,"important":true,"run_id":"20261108_181404_849590a9"}
2026-11-08T18: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":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:15:06+01:00","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9425,"mtime":"2026-11-08T18:15:06+01:00","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:15:05+01:00","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10083,"mtime":"2026-11-08T18:15:05+01:00","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":16,"rb":23,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.055,"duration_milliseconds":55,"important":true,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":174563,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.603,"exec_milliseconds":1603,"live_games":2,"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":174563,"important":true,"run_id":"20261108_181513_32fe0a4d"}
2026-11-08T18: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":"20261108_181603_40726816"}
2026-11-08T18:16:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9574,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.474,"duration_milliseconds":474,"important":true,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:15:41+01:00","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10497,"mtime":"2026-11-08T18:15:40+01:00","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":18,"rb":23,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.163,"duration_milliseconds":163,"important":true,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":176978,"run_id":"20261108_181603_40726816"}
2026-11-08T18:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.673,"exec_milliseconds":1673,"live_games":2,"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":176978,"important":true,"run_id":"20261108_181603_40726816"}
2026-11-08T18: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":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9574,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:16:59+01:00","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10991,"mtime":"2026-11-08T18:16:59+01:00","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":20,"rb":26,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179032,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.59,"exec_milliseconds":1590,"live_games":2,"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":179032,"important":true,"run_id":"20261108_181702_8ed6de21"}
2026-11-08T18:17: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":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:34+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9574,"mtime":"2026-11-08T18:15:44+01:00","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":62,"rb":64,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.552,"duration_milliseconds":552,"important":true,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:17:20+01:00","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11141,"mtime":"2026-11-08T18:17:19+01:00","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":20,"rb":26,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":132853,"run_id":"20261108_181734_ff671554"}
2026-11-08T18:17:35+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.592,"exec_milliseconds":1592,"live_games":2,"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":132853,"important":true,"run_id":"20261108_181734_ff671554"}
2026-11-08T18: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":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:17:53+01:00","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9835,"mtime":"2026-11-08T18:17:53+01:00","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":64,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:17:53+01:00","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11215,"mtime":"2026-11-08T18:17:53+01:00","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":20,"rb":26,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.152,"duration_milliseconds":152,"important":true,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":181115,"run_id":"20261108_181803_81d504db"}
2026-11-08T18:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.559,"exec_milliseconds":1559,"live_games":2,"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":181115,"important":true,"run_id":"20261108_181803_81d504db"}
2026-11-08T18: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":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:18:47+01:00","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":9983,"mtime":"2026-11-08T18:18:46+01:00","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":64,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:18:49+01:00","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11629,"mtime":"2026-11-08T18:18:49+01:00","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":21,"rb":26,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":183525,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.504,"exec_milliseconds":1504,"live_games":2,"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":183525,"important":true,"run_id":"20261108_181902_9e35195b"}
2026-11-08T18: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":"20261108_182011_33caf030"}
2026-11-08T18:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:20:12+01:00","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":10773,"mtime":"2026-11-08T18:20:12+01:00","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":66,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:19:20+01:00","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11856,"mtime":"2026-11-08T18:19:20+01:00","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":21,"rb":26,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":187904,"run_id":"20261108_182011_33caf030"}
2026-11-08T18:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.642,"exec_milliseconds":1642,"live_games":2,"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":187904,"important":true,"run_id":"20261108_182011_33caf030"}
2026-11-08T18: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":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:20:36+01:00","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11109,"mtime":"2026-11-08T18:20:35+01:00","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":68,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:19:20+01:00","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11856,"mtime":"2026-11-08T18:19:20+01:00","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":21,"rb":26,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189438,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.526,"exec_milliseconds":1526,"live_games":2,"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":189438,"important":true,"run_id":"20261108_182102_ba0d0a42"}
2026-11-08T18: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":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:20:36+01:00","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11109,"mtime":"2026-11-08T18:20:35+01:00","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":68,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:22:04+01:00","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5300,"mtime":"2026-11-08T18:22:04+01:00","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":21,"rb":29,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.145,"duration_milliseconds":145,"important":true,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":161192,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.617,"exec_milliseconds":1617,"live_games":2,"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":161192,"important":true,"run_id":"20261108_182203_2b0f7ef3"}
2026-11-08T18: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":"20261108_182302_15a39c79"}
2026-11-08T18:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:23:00+01:00","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11399,"mtime":"2026-11-08T18:22:59+01:00","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":63,"rb":68,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.473,"duration_milliseconds":473,"important":true,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:22:56+01:00","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5682,"mtime":"2026-11-08T18:22:56+01:00","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":31,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.161,"duration_milliseconds":161,"important":true,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":164060,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.629,"exec_milliseconds":1629,"live_games":2,"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":164060,"important":true,"run_id":"20261108_182302_15a39c79"}
2026-11-08T18: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":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:24:04+01:00","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":11932,"mtime":"2026-11-08T18:24:04+01:00","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":65,"rb":71,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:23:44+01:00","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6323,"mtime":"2026-11-08T18:23:44+01:00","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":32,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.167,"duration_milliseconds":167,"important":true,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":169052,"run_id":"20261108_182403_446820e8"}
2026-11-08T18:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.638,"exec_milliseconds":1638,"live_games":2,"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":169052,"important":true,"run_id":"20261108_182403_446820e8"}
2026-11-08T18: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":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:07+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:25:04+01:00","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12464,"mtime":"2026-11-08T18:25:02+01:00","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":65,"rb":71,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:24:55+01:00","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6631,"mtime":"2026-11-08T18:24:56+01:00","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":32,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.142,"duration_milliseconds":142,"important":true,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":172662,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.597,"exec_milliseconds":1597,"live_games":2,"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":172662,"important":true,"run_id":"20261108_182506_3b02dac6"}
2026-11-08T18: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":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:25:58+01:00","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":12829,"mtime":"2026-11-08T18:25:56+01:00","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":65,"rb":71,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:26:01+01:00","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7357,"mtime":"2026-11-08T18:26:01+01:00","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":35,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.156,"duration_milliseconds":156,"important":true,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":177359,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.578,"exec_milliseconds":1578,"live_games":2,"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":177359,"important":true,"run_id":"20261108_182603_89bcb6ca"}
2026-11-08T18: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":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:26:48+01:00","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13156,"mtime":"2026-11-08T18:26:48+01:00","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":66,"rb":71,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.496,"duration_milliseconds":496,"important":true,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:26:10+01:00","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7549,"mtime":"2026-11-08T18:26:10+01:00","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":37,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179570,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.652,"exec_milliseconds":1652,"live_games":2,"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":179570,"important":true,"run_id":"20261108_182702_ec2289c6"}
2026-11-08T18: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":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:27:36+01:00","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13498,"mtime":"2026-11-08T18:27:35+01:00","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":68,"rb":71,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.495,"duration_milliseconds":495,"important":true,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:27:35+01:00","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7623,"mtime":"2026-11-08T18:27:35+01:00","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":37,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":181338,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.702,"exec_milliseconds":1702,"live_games":2,"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":181338,"important":true,"run_id":"20261108_182803_f0e59c85"}
2026-11-08T18: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":"20261108_182902_676cb44f"}
2026-11-08T18:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:27:36+01:00","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13498,"mtime":"2026-11-08T18:27:35+01:00","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":68,"rb":71,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:28:52+01:00","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8032,"mtime":"2026-11-08T18:28:52+01:00","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":37,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.167,"duration_milliseconds":167,"important":true,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":183045,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.595,"exec_milliseconds":1595,"live_games":2,"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":183045,"important":true,"run_id":"20261108_182902_676cb44f"}
2026-11-08T18: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":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:30:24+01:00","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":13874,"mtime":"2026-11-08T18:30:24+01:00","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":68,"rb":71,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.501,"duration_milliseconds":501,"important":true,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:30:19+01:00","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9152,"mtime":"2026-11-08T18:30:19+01:00","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":37,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.162,"duration_milliseconds":162,"important":true,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189383,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.607,"exec_milliseconds":1607,"live_games":2,"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":189383,"important":true,"run_id":"20261108_183024_26e3e0f4"}
2026-11-08T18: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":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:30:59+01:00","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14091,"mtime":"2026-11-08T18:30:58+01:00","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":68,"rb":71,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:30:50+01:00","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9457,"mtime":"2026-11-08T18:30:50+01:00","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":24,"rb":37,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.177,"duration_milliseconds":177,"important":true,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":191651,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.653,"exec_milliseconds":1653,"live_games":2,"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":191651,"important":true,"run_id":"20261108_183102_56bf5877"}
2026-11-08T18: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":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:31:42+01:00","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14391,"mtime":"2026-11-08T18:31:42+01:00","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":68,"rb":71,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.805,"duration_milliseconds":805,"important":true,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:32:05+01:00","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10038,"mtime":"2026-11-08T18:32:05+01:00","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":28,"rb":40,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.141,"duration_milliseconds":141,"important":true,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":195354,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.861,"exec_milliseconds":1861,"live_games":2,"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":195354,"important":true,"run_id":"20261108_183203_6af08d43"}
2026-11-08T18: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":"20261108_183302_c4aacb12"}
2026-11-08T18:33:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:32:58+01:00","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":14804,"mtime":"2026-11-08T18:32:56+01:00","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":70,"rb":71,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:33:01+01:00","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10721,"mtime":"2026-11-08T18:33:01+01:00","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":28,"rb":40,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":200064,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.584,"exec_milliseconds":1584,"live_games":2,"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":200064,"important":true,"run_id":"20261108_183302_c4aacb12"}
2026-11-08T18: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":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:33:59+01:00","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15057,"mtime":"2026-11-08T18:33:59+01:00","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":70,"rb":72,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:33:53+01:00","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11137,"mtime":"2026-11-08T18:33:53+01:00","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":30,"rb":40,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202925,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.639,"exec_milliseconds":1639,"live_games":2,"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":202925,"important":true,"run_id":"20261108_183403_b33266cc"}
2026-11-08T18: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":"20261108_183507_bd6900fb"}
2026-11-08T18:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:34:52+01:00","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15318,"mtime":"2026-11-08T18:34:50+01:00","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:35:05+01:00","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11493,"mtime":"2026-11-08T18:35:05+01:00","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":31,"rb":42,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.131,"duration_milliseconds":131,"important":true,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":205562,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.556,"exec_milliseconds":1556,"live_games":2,"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":205562,"important":true,"run_id":"20261108_183507_bd6900fb"}
2026-11-08T18: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":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:36:02+01:00","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15690,"mtime":"2026-11-08T18:36:02+01:00","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:35:54+01:00","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11938,"mtime":"2026-11-08T18:35:54+01:00","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":32,"rb":44,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":209071,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.616,"exec_milliseconds":1616,"live_games":2,"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":209071,"important":true,"run_id":"20261108_183603_a4539cc8"}
2026-11-08T18: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":"20261108_183702_75628651"}
2026-11-08T18:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:36:02+01:00","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15690,"mtime":"2026-11-08T18:36:02+01:00","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4289,"mtime":"2026-11-08T18:36:50+01:00","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12173,"mtime":"2026-11-08T18:36:51+01:00","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":34,"rb":47,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.14,"duration_milliseconds":140,"important":true,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183702_75628651"}
2026-11-08T18:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":210018,"run_id":"20261108_183702_75628651"}
2026-11-08T18:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.56,"exec_milliseconds":1560,"live_games":2,"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":210018,"important":true,"run_id":"20261108_183702_75628651"}
2026-11-08T18: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":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:37:45+01:00","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":15839,"mtime":"2026-11-08T18:37:45+01:00","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:37:34+01:00","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12672,"mtime":"2026-11-08T18:37:33+01:00","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":36,"rb":47,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.151,"duration_milliseconds":151,"important":true,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":212781,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.608,"exec_milliseconds":1608,"live_games":2,"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":212781,"important":true,"run_id":"20261108_183803_2557a8db"}
2026-11-08T18: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":"20261108_183902_796268a7"}
2026-11-08T18:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:38:48+01:00","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16135,"mtime":"2026-11-08T18:38:48+01:00","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:39:03+01:00","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12898,"mtime":"2026-11-08T18:39:03+01:00","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":36,"rb":47,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.15,"duration_milliseconds":150,"important":true,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.056,"duration_milliseconds":56,"important":true,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":215053,"run_id":"20261108_183902_796268a7"}
2026-11-08T18:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.645,"exec_milliseconds":1645,"live_games":2,"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":215053,"important":true,"run_id":"20261108_183902_796268a7"}
2026-11-08T18: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":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:38:48+01:00","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16135,"mtime":"2026-11-08T18:38:48+01:00","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":72,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:39:52+01:00","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13184,"mtime":"2026-11-08T18:39:51+01:00","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":47,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":216219,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.589,"exec_milliseconds":1589,"live_games":2,"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":216219,"important":true,"run_id":"20261108_184011_acc1f52f"}
2026-11-08T18: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":"20261108_184102_1af1af1c"}
2026-11-08T18:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:40:58+01:00","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16242,"mtime":"2026-11-08T18:40:58+01:00","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":73,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.464,"duration_milliseconds":464,"important":true,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":217431,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.536,"exec_milliseconds":1536,"live_games":2,"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":217431,"important":true,"run_id":"20261108_184102_1af1af1c"}
2026-11-08T18: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":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:41:33+01:00","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16503,"mtime":"2026-11-08T18:41:33+01:00","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.466,"duration_milliseconds":466,"important":true,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":218540,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.58,"exec_milliseconds":1580,"live_games":2,"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":218540,"important":true,"run_id":"20261108_184203_169b8d67"}
2026-11-08T18: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":"20261108_184302_372d9b12"}
2026-11-08T18:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.485,"duration_milliseconds":485,"important":true,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.147,"duration_milliseconds":147,"important":true,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.6,"exec_milliseconds":1600,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184302_372d9b12"}
2026-11-08T18: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":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.143,"duration_milliseconds":143,"important":true,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.081,"duration_milliseconds":81,"important":true,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.627,"exec_milliseconds":1627,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184403_be38d4bd"}
2026-11-08T18:45: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":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:14+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.527,"duration_milliseconds":527,"important":true,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.155,"duration_milliseconds":155,"important":true,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.628,"exec_milliseconds":1628,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184513_af2dbe40"}
2026-11-08T18: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":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:40:30+01:00","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:40:29+01:00","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.648,"exec_milliseconds":1648,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184603_d1db73ac"}
2026-11-08T18: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":"20261108_184702_39db4a17"}
2026-11-08T18:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.164,"duration_milliseconds":164,"important":true,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.676,"exec_milliseconds":1676,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184702_39db4a17"}
2026-11-08T18: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":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:04+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.146,"duration_milliseconds":146,"important":true,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184803_aae55932"}
2026-11-08T18:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.6,"exec_milliseconds":1600,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184803_aae55932"}
2026-11-08T18: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":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:03+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.148,"duration_milliseconds":148,"important":true,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.618,"exec_milliseconds":1618,"live_games":2,"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":219172,"important":true,"run_id":"20261108_184902_cd8f5b7a"}
2026-11-08T18: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":"20261108_185011_f41ab187"}
2026-11-08T18:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:11+01:00 [INFO] Live games query successful {"count":2,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Processing live game {"spiel_id":2006863,"team_id":433,"league":"BBL","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2006863,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863_INIT.JSN","size":4051,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006863,"file":"2006863_INIT.JSN","referee_count":4,"spect":null,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006863,"file":"2006863.JSN","size":16645,"mtime":"2026-11-08T18:42:23+01:00","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006863,"file":"2006863.JSN","ra":72,"rb":74,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006863,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Live game timing {"spiel_id":2006863,"duration_seconds":0.507,"duration_milliseconds":507,"important":true,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.16,"duration_milliseconds":160,"important":true,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":219172,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.606,"exec_milliseconds":1606,"live_games":2,"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":219172,"important":true,"run_id":"20261108_185011_f41ab187"}
2026-11-08T18: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":"20261108_185102_be07733a"}
2026-11-08T18:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.457,"duration_milliseconds":457,"important":true,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.055,"duration_milliseconds":55,"important":true,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124168,"run_id":"20261108_185102_be07733a"}
2026-11-08T18:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.486,"exec_milliseconds":1486,"live_games":1,"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":124168,"important":true,"run_id":"20261108_185102_be07733a"}
2026-11-08T18: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":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.456,"duration_milliseconds":456,"important":true,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124168,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.451,"exec_milliseconds":1451,"live_games":1,"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":124168,"important":true,"run_id":"20261108_185203_b8cc819e"}
2026-11-08T18: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":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124168,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.553,"exec_milliseconds":1553,"live_games":1,"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":124168,"important":true,"run_id":"20261108_185302_2f7dda0c"}
2026-11-08T18: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":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:46:29+01:00","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13360,"mtime":"2026-11-08T18:46:28+01:00","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124168,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.566,"exec_milliseconds":1566,"live_games":1,"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":124168,"important":true,"run_id":"20261108_185403_1efcdf99"}
2026-11-08T18: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":"20261108_185507_94fd42a2"}
2026-11-08T18:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:54:37+01:00","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13371,"mtime":"2026-11-08T18:54:37+01:00","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124198,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.486,"exec_milliseconds":1486,"live_games":1,"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":124198,"important":true,"run_id":"20261108_185507_94fd42a2"}
2026-11-08T18: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":"20261108_185603_27bab99a"}
2026-11-08T18:56:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:55:49+01:00","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":5744,"mtime":"2026-11-08T18:55:49+01:00","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":49,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.055,"duration_milliseconds":55,"important":true,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":91403,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.488,"exec_milliseconds":1488,"live_games":1,"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":91403,"important":true,"run_id":"20261108_185603_27bab99a"}
2026-11-08T18: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":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:56:49+01:00","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6284,"mtime":"2026-11-08T18:56:49+01:00","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":39,"rb":55,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.055,"duration_milliseconds":55,"important":true,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":93663,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.551,"exec_milliseconds":1551,"live_games":1,"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":93663,"important":true,"run_id":"20261108_185702_6ffeeb61"}
2026-11-08T18: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":"20261108_185803_e877196e"}
2026-11-08T18:58:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:57:56+01:00","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6665,"mtime":"2026-11-08T18:57:54+01:00","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":41,"rb":58,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":95252,"run_id":"20261108_185803_e877196e"}
2026-11-08T18:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.549,"exec_milliseconds":1549,"live_games":1,"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":95252,"important":true,"run_id":"20261108_185803_e877196e"}
2026-11-08T18: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":"20261108_185902_8a00c703"}
2026-11-08T18:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:58:54+01:00","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7106,"mtime":"2026-11-08T18:58:53+01:00","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":61,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97131,"run_id":"20261108_185902_8a00c703"}
2026-11-08T18:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.565,"exec_milliseconds":1565,"live_games":1,"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":97131,"important":true,"run_id":"20261108_185902_8a00c703"}
2026-11-08T19:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:33+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T18:58:54+01:00","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7106,"mtime":"2026-11-08T18:58:53+01:00","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":61,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.064,"duration_milliseconds":64,"important":true,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97231,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19:00:34+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.498,"exec_milliseconds":1498,"live_games":1,"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":97231,"important":true,"run_id":"20261108_190032_fd18ab09"}
2026-11-08T19: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":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:00:47+01:00","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7266,"mtime":"2026-11-08T19:00:47+01:00","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":61,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97803,"run_id":"20261108_190103_7c250923"}
2026-11-08T19:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.529,"exec_milliseconds":1529,"live_games":1,"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":97803,"important":true,"run_id":"20261108_190103_7c250923"}
2026-11-08T19: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":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:02:03+01:00","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7996,"mtime":"2026-11-08T19:02:03+01:00","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":63,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":100909,"run_id":"20261108_190203_215ef536"}
2026-11-08T19:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.533,"exec_milliseconds":1533,"live_games":1,"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":100909,"important":true,"run_id":"20261108_190203_215ef536"}
2026-11-08T19: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":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:02:43+01:00","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8482,"mtime":"2026-11-08T19:02:43+01:00","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":66,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":102993,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.483,"exec_milliseconds":1483,"live_games":1,"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":102993,"important":true,"run_id":"20261108_190303_3aeda204"}
2026-11-08T19: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":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:04:04+01:00","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9277,"mtime":"2026-11-08T19:04:04+01:00","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":68,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.504,"duration_milliseconds":504,"important":true,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.063,"duration_milliseconds":63,"important":true,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":106398,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.538,"exec_milliseconds":1538,"live_games":1,"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":106398,"important":true,"run_id":"20261108_190403_a5441f58"}
2026-11-08T19: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":"20261108_190507_47c246a2"}
2026-11-08T19:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:05:05+01:00","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9732,"mtime":"2026-11-08T19:05:04+01:00","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":70,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.5,"duration_milliseconds":500,"important":true,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.059,"duration_milliseconds":59,"important":true,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":108307,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.49,"exec_milliseconds":1490,"live_games":1,"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":108307,"important":true,"run_id":"20261108_190507_47c246a2"}
2026-11-08T19: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":"20261108_190604_12a70b77"}
2026-11-08T19:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:05:41+01:00","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10061,"mtime":"2026-11-08T19:05:42+01:00","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":42,"rb":71,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":109726,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.546,"exec_milliseconds":1546,"live_games":1,"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":109726,"important":true,"run_id":"20261108_190604_12a70b77"}
2026-11-08T19: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":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:06:50+01:00","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10486,"mtime":"2026-11-08T19:06:50+01:00","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":44,"rb":71,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":111519,"run_id":"20261108_190702_90795b26"}
2026-11-08T19:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.51,"exec_milliseconds":1510,"live_games":1,"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":111519,"important":true,"run_id":"20261108_190702_90795b26"}
2026-11-08T19: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":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:07:45+01:00","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11004,"mtime":"2026-11-08T19:07:44+01:00","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":44,"rb":71,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":113775,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.479,"exec_milliseconds":1479,"live_games":1,"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":113775,"important":true,"run_id":"20261108_190804_38f6d45f"}
2026-11-08T19: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":"20261108_190902_79746897"}
2026-11-08T19:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:08:59+01:00","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11485,"mtime":"2026-11-08T19:08:59+01:00","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":44,"rb":73,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.489,"duration_milliseconds":489,"important":true,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":115683,"run_id":"20261108_190902_79746897"}
2026-11-08T19:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.527,"exec_milliseconds":1527,"live_games":1,"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":115683,"important":true,"run_id":"20261108_190902_79746897"}
2026-11-08T19: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":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:09:59+01:00","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11891,"mtime":"2026-11-08T19:09:59+01:00","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":44,"rb":74,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":117429,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.583,"exec_milliseconds":1583,"live_games":1,"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":117429,"important":true,"run_id":"20261108_191011_6be611f6"}
2026-11-08T19: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":"20261108_191102_2a431935"}
2026-11-08T19:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:10:58+01:00","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12276,"mtime":"2026-11-08T19:10:58+01:00","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":76,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":119026,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.519,"exec_milliseconds":1519,"live_games":1,"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":119026,"important":true,"run_id":"20261108_191102_2a431935"}
2026-11-08T19:12: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":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:11:56+01:00","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12688,"mtime":"2026-11-08T19:11:55+01:00","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [WARN] Scout JSON decode failed {"spiel_id":2006862,"file":"2006862.JSN","error":"empty payload","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":1.014,"duration_milliseconds":1014,"important":true,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":64703,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19:12:05+01:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":1.999,"exec_milliseconds":1999,"live_games":1,"fallback_games":2,"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":64703,"important":true,"run_id":"20261108_191203_bd949f0b"}
2026-11-08T19: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":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:12:55+01:00","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13102,"mtime":"2026-11-08T19:12:55+01:00","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":80,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.48,"duration_milliseconds":480,"important":true,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.058,"duration_milliseconds":58,"important":true,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":122556,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.579,"exec_milliseconds":1579,"live_games":1,"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":122556,"important":true,"run_id":"20261108_191302_98d20bc1"}
2026-11-08T19: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":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:13:30+01:00","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13315,"mtime":"2026-11-08T19:13:30+01:00","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":82,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.469,"duration_milliseconds":469,"important":true,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.074,"duration_milliseconds":74,"important":true,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":123453,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.546,"exec_milliseconds":1546,"live_games":1,"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":123453,"important":true,"run_id":"20261108_191403_4b4d1fb9"}
2026-11-08T19:15: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":"20261108_191513_4c775675"}
2026-11-08T19:15:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:15:10+01:00","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13855,"mtime":"2026-11-08T19:15:09+01:00","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":82,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.49,"duration_milliseconds":490,"important":true,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125763,"run_id":"20261108_191513_4c775675"}
2026-11-08T19:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.491,"exec_milliseconds":1491,"live_games":1,"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":125763,"important":true,"run_id":"20261108_191513_4c775675"}
2026-11-08T19: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":"20261108_191603_650a6a78"}
2026-11-08T19:16:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:15:29+01:00","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13928,"mtime":"2026-11-08T19:15:29+01:00","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":82,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":126092,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.542,"exec_milliseconds":1542,"live_games":1,"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":126092,"important":true,"run_id":"20261108_191603_650a6a78"}
2026-11-08T19: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":"20261108_191702_dbc86425"}
2026-11-08T19:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:15:29+01:00","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13928,"mtime":"2026-11-08T19:15:29+01:00","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":46,"rb":82,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.455,"duration_milliseconds":455,"important":true,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":126190,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.661,"exec_milliseconds":1661,"live_games":1,"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":126190,"important":true,"run_id":"20261108_191702_dbc86425"}
2026-11-08T19: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":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:18:00+01:00","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6569,"mtime":"2026-11-08T19:18:00+01:00","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":48,"rb":82,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.487,"duration_milliseconds":487,"important":true,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":94421,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.496,"exec_milliseconds":1496,"live_games":1,"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":94421,"important":true,"run_id":"20261108_191803_79170d8e"}
2026-11-08T19: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":"20261108_191902_dadf401c"}
2026-11-08T19:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:18:47+01:00","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":6994,"mtime":"2026-11-08T19:18:47+01:00","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":82,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.467,"duration_milliseconds":467,"important":true,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":96214,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.474,"exec_milliseconds":1474,"live_games":1,"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":96214,"important":true,"run_id":"20261108_191902_dadf401c"}
2026-11-08T19: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":"20261108_192011_e720f2d7"}
2026-11-08T19:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:19:32+01:00","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7220,"mtime":"2026-11-08T19:19:32+01:00","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":82,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.477,"duration_milliseconds":477,"important":true,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97190,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19:20:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.48,"exec_milliseconds":1480,"live_games":1,"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":97190,"important":true,"run_id":"20261108_192011_e720f2d7"}
2026-11-08T19: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":"20261108_192102_67bf30f9"}
2026-11-08T19:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:19:32+01:00","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7220,"mtime":"2026-11-08T19:19:32+01:00","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":82,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.476,"duration_milliseconds":476,"important":true,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97288,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19:21:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.424,"exec_milliseconds":1424,"live_games":1,"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":97288,"important":true,"run_id":"20261108_192102_67bf30f9"}
2026-11-08T19: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":"20261108_192203_730dfbff"}
2026-11-08T19:22:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:21:59+01:00","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7334,"mtime":"2026-11-08T19:21:58+01:00","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":84,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.479,"duration_milliseconds":479,"important":true,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":97656,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.518,"exec_milliseconds":1518,"live_games":1,"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":97656,"important":true,"run_id":"20261108_192203_730dfbff"}
2026-11-08T19: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":"20261108_192302_9c14d041"}
2026-11-08T19:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:22:35+01:00","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":7937,"mtime":"2026-11-08T19:22:35+01:00","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":84,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.452,"duration_milliseconds":452,"important":true,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":100263,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"live_games":1,"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":100263,"important":true,"run_id":"20261108_192302_9c14d041"}
2026-11-08T19: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":"20261108_192403_bd8ff313"}
2026-11-08T19:24:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:23:57+01:00","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8376,"mtime":"2026-11-08T19:23:56+01:00","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":84,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.472,"duration_milliseconds":472,"important":true,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":102186,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.518,"exec_milliseconds":1518,"live_games":1,"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":102186,"important":true,"run_id":"20261108_192403_bd8ff313"}
2026-11-08T19:25:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:07+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:25:01+01:00","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8672,"mtime":"2026-11-08T19:25:01+01:00","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":84,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.484,"duration_milliseconds":484,"important":true,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103478,"run_id":"20261108_192506_acb24880"}
2026-11-08T19:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.545,"exec_milliseconds":1545,"live_games":1,"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":103478,"important":true,"run_id":"20261108_192506_acb24880"}
2026-11-08T19: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":"20261108_192603_afa36b62"}
2026-11-08T19:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:25:37+01:00","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":8860,"mtime":"2026-11-08T19:25:37+01:00","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":51,"rb":86,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.491,"duration_milliseconds":491,"important":true,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.07,"duration_milliseconds":70,"important":true,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.057,"duration_milliseconds":57,"important":true,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":104268,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.574,"exec_milliseconds":1574,"live_games":1,"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":104268,"important":true,"run_id":"20261108_192603_afa36b62"}
2026-11-08T19: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":"20261108_192702_c8e25831"}
2026-11-08T19:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:26:59+01:00","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9359,"mtime":"2026-11-08T19:26:59+01:00","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":53,"rb":86,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":106381,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.522,"exec_milliseconds":1522,"live_games":1,"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":106381,"important":true,"run_id":"20261108_192702_c8e25831"}
2026-11-08T19: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":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:28:02+01:00","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":9844,"mtime":"2026-11-08T19:28:02+01:00","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":55,"rb":86,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":108464,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.523,"exec_milliseconds":1523,"live_games":1,"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":108464,"important":true,"run_id":"20261108_192803_3279f2a0"}
2026-11-08T19: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":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:28:57+01:00","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":10393,"mtime":"2026-11-08T19:28:57+01:00","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":58,"rb":88,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.458,"duration_milliseconds":458,"important":true,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":110745,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.486,"exec_milliseconds":1486,"live_games":1,"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":110745,"important":true,"run_id":"20261108_192903_d97f2b7d"}
2026-11-08T19: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":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:30:23+01:00","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11067,"mtime":"2026-11-08T19:30:23+01:00","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:25+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":58,"rb":90,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.505,"duration_milliseconds":505,"important":true,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":113615,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19:30:26+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.512,"exec_milliseconds":1512,"live_games":1,"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":113615,"important":true,"run_id":"20261108_193024_8cc8375e"}
2026-11-08T19: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":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:30:46+01:00","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11179,"mtime":"2026-11-08T19:30:46+01:00","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":60,"rb":90,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":114079,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.517,"exec_milliseconds":1517,"live_games":1,"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":114079,"important":true,"run_id":"20261108_193102_5e6f02a8"}
2026-11-08T19: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":"20261108_193203_ed32e950"}
2026-11-08T19:32:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":11854,"mtime":"2026-11-08T19:32:03+01:00","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":63,"rb":92,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.411,"duration_milliseconds":411,"important":true,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":100613,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.438,"exec_milliseconds":1438,"live_games":1,"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":100613,"important":true,"run_id":"20261108_193203_ed32e950"}
2026-11-08T19: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":"20261108_193302_94336d78"}
2026-11-08T19:33:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:32:54+01:00","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":12413,"mtime":"2026-11-08T19:32:54+01:00","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":65,"rb":92,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.483,"duration_milliseconds":483,"important":true,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":119357,"run_id":"20261108_193302_94336d78"}
2026-11-08T19:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.599,"exec_milliseconds":1599,"live_games":1,"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":119357,"important":true,"run_id":"20261108_193302_94336d78"}
2026-11-08T19: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":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:33:53+01:00","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13089,"mtime":"2026-11-08T19:33:52+01:00","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":65,"rb":92,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.462,"duration_milliseconds":462,"important":true,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:04+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":122283,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.501,"exec_milliseconds":1501,"live_games":1,"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":122283,"important":true,"run_id":"20261108_193403_e6c47f0c"}
2026-11-08T19: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":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:07+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:34:52+01:00","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13505,"mtime":"2026-11-08T19:34:52+01:00","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":67,"rb":92,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.481,"duration_milliseconds":481,"important":true,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":124055,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.508,"exec_milliseconds":1508,"live_games":1,"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":124055,"important":true,"run_id":"20261108_193506_e597cb4a"}
2026-11-08T19: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":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:35:42+01:00","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":13803,"mtime":"2026-11-08T19:35:42+01:00","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":67,"rb":92,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.492,"duration_milliseconds":492,"important":true,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.061,"duration_milliseconds":61,"important":true,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":125349,"run_id":"20261108_193603_bc218612"}
2026-11-08T19:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.537,"exec_milliseconds":1537,"live_games":1,"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":125349,"important":true,"run_id":"20261108_193603_bc218612"}
2026-11-08T19: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":"20261108_193702_61c9d51e"}
2026-11-08T19:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:36:59+01:00","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":14251,"mtime":"2026-11-08T19:36:59+01:00","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":69,"rb":94,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.468,"duration_milliseconds":468,"important":true,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":127247,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.439,"exec_milliseconds":1439,"live_games":1,"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":127247,"important":true,"run_id":"20261108_193702_61c9d51e"}
2026-11-08T19: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":"20261108_193803_a1590d40"}
2026-11-08T19:38:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4290,"mtime":"2026-11-08T19:37:55+01:00","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":14810,"mtime":"2026-11-08T19:37:55+01:00","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":71,"rb":94,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.482,"duration_milliseconds":482,"important":true,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.059,"duration_milliseconds":59,"important":true,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":129650,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.563,"exec_milliseconds":1563,"live_games":1,"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":129650,"important":true,"run_id":"20261108_193803_a1590d40"}
2026-11-08T19: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":"20261108_193902_e209994b"}
2026-11-08T19:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:38:55+01:00","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15300,"mtime":"2026-11-08T19:38:54+01:00","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":72,"rb":94,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.47,"duration_milliseconds":470,"important":true,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":131747,"run_id":"20261108_193902_e209994b"}
2026-11-08T19:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.526,"exec_milliseconds":1526,"live_games":1,"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":131747,"important":true,"run_id":"20261108_193902_e209994b"}
2026-11-08T19: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":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:40:04+01:00","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15785,"mtime":"2026-11-08T19:40:04+01:00","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:12+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.471,"duration_milliseconds":471,"important":true,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":133830,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19:40:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.489,"exec_milliseconds":1489,"live_games":1,"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":133830,"important":true,"run_id":"20261108_194011_739d0cce"}
2026-11-08T19: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":"20261108_194102_e1759441"}
2026-11-08T19:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:40:22+01:00","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15931,"mtime":"2026-11-08T19:40:22+01:00","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.459,"duration_milliseconds":459,"important":true,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134472,"run_id":"20261108_194102_e1759441"}
2026-11-08T19:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.493,"exec_milliseconds":1493,"live_games":1,"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":134472,"important":true,"run_id":"20261108_194102_e1759441"}
2026-11-08T19: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":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:41:37+01:00","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15931,"mtime":"2026-11-08T19:41:37+01:00","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.46,"duration_milliseconds":460,"important":true,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134472,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.516,"exec_milliseconds":1516,"live_games":1,"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":134472,"important":true,"run_id":"20261108_194203_bd2d38fa"}
2026-11-08T19: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":"20261108_194302_5817d098"}
2026-11-08T19:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:42:24+01:00","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15931,"mtime":"2026-11-08T19:42:23+01:00","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.495,"duration_milliseconds":495,"important":true,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.055,"duration_milliseconds":55,"important":true,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134472,"run_id":"20261108_194302_5817d098"}
2026-11-08T19:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.485,"exec_milliseconds":1485,"live_games":1,"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":134472,"important":true,"run_id":"20261108_194302_5817d098"}
2026-11-08T19: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":"20261108_194403_ddc97916"}
2026-11-08T19:44:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:43:59+01:00","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15994,"mtime":"2026-11-08T19:43:59+01:00","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.461,"duration_milliseconds":461,"important":true,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134783,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.481,"exec_milliseconds":1481,"live_games":1,"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":134783,"important":true,"run_id":"20261108_194403_ddc97916"}
2026-11-08T19:45: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":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Live games query successful {"count":1,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Processing live game {"spiel_id":2006862,"team_id":540,"league":"BBL","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] SFTP upload directory reachable {"team_id":540,"spiel_id":2006862,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862_INIT.JSN","size":4291,"mtime":"2026-11-08T19:43:59+01:00","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Init JSON parsed {"spiel_id":2006862,"file":"2006862_INIT.JSN","referee_count":4,"spect":3140,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] SFTP file found {"spiel_id":2006862,"file":"2006862.JSN","size":15994,"mtime":"2026-11-08T19:43:59+01:00","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Scout JSON parsed {"spiel_id":2006862,"file":"2006862.JSN","ra":73,"rb":94,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Live row rendered {"spiel_id":2006862,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Live game timing {"spiel_id":2006862,"duration_seconds":0.486,"duration_milliseconds":486,"important":true,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":134783,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.556,"exec_milliseconds":1556,"live_games":1,"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":134783,"important":true,"run_id":"20261108_194513_f6e58cd8"}
2026-11-08T19: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":"20261108_194603_424d13f9"}
2026-11-08T19:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.4,"exec_milliseconds":1400,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_194603_424d13f9"}
2026-11-08T19: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":"20261108_194702_c52d76e3"}
2026-11-08T19:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_194702_c52d76e3"}
2026-11-08T19: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":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_194804_62501d13"}
2026-11-08T19:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.419,"exec_milliseconds":1419,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_194804_62501d13"}
2026-11-08T19: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":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_194902_3e3e519f"}
2026-11-08T19: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":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.364,"exec_milliseconds":1364,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195011_a7e9f7a9"}
2026-11-08T19: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":"20261108_195102_b840791e"}
2026-11-08T19:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195102_b840791e"}
2026-11-08T19:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195102_b840791e"}
2026-11-08T19: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":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195203_aa543c88"}
2026-11-08T19: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":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19:53:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195303_5e4ca04f"}
2026-11-08T19: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":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195403_55790845"}
2026-11-08T19:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195403_55790845"}
2026-11-08T19:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195403_55790845"}
2026-11-08T19:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195506_727818be"}
2026-11-08T19:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.36,"exec_milliseconds":1360,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195506_727818be"}
2026-11-08T19: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":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.441,"exec_milliseconds":1441,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195603_0e1fc55a"}
2026-11-08T19: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":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195702_841fec89"}
2026-11-08T19:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.413,"exec_milliseconds":1413,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195702_841fec89"}
2026-11-08T19: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":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.358,"exec_milliseconds":1358,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195803_f2eb5f12"}
2026-11-08T19: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":"20261108_195902_9b55daae"}
2026-11-08T19:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.057,"duration_milliseconds":57,"important":true,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_195902_9b55daae"}
2026-11-08T19:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_195902_9b55daae"}
2026-11-08T20: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":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:34+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:34+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:34+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.381,"duration_milliseconds":381,"important":true,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:35+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:36+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:36+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:36+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20:00:36+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.426,"exec_milliseconds":1426,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200034_0e1d0fcf"}
2026-11-08T20: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":"20261108_200102_ca594d4d"}
2026-11-08T20:01:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20:01:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200102_ca594d4d"}
2026-11-08T20: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":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.371,"duration_milliseconds":371,"important":true,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.461,"exec_milliseconds":1461,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200203_23a45eb3"}
2026-11-08T20: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":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.41,"exec_milliseconds":1410,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200302_7edc50b4"}
2026-11-08T20: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":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200403_7deba947"}
2026-11-08T20:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.414,"exec_milliseconds":1414,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200403_7deba947"}
2026-11-08T20: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":"20261108_200507_aff27ac8"}
2026-11-08T20:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200507_aff27ac8"}
2026-11-08T20: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":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.39,"exec_milliseconds":1390,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200603_f8c598d0"}
2026-11-08T20: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":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200703_fc20a3f8"}
2026-11-08T20: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":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.364,"duration_milliseconds":364,"important":true,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200803_81ca1304"}
2026-11-08T20: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":"20261108_200902_a297d739"}
2026-11-08T20:09:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:09:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_200902_a297d739"}
2026-11-08T20:10: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":"20261108_201011_85a6a691"}
2026-11-08T20:10:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.367,"duration_milliseconds":367,"important":true,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20:10:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.383,"exec_milliseconds":1383,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201011_85a6a691"}
2026-11-08T20: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":"20261108_201103_6390da80"}
2026-11-08T20:11:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:11:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201103_6390da80"}
2026-11-08T20:12: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":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.338,"exec_milliseconds":1338,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201203_0f92d823"}
2026-11-08T20: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":"20261108_201302_0ec269d8"}
2026-11-08T20:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20:13:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201302_0ec269d8"}
2026-11-08T20: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":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:14:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201403_b359f0a5"}
2026-11-08T20:15: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":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.364,"duration_milliseconds":364,"important":true,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201513_950126a6"}
2026-11-08T20:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201513_950126a6"}
2026-11-08T20: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":"20261108_201603_c2538570"}
2026-11-08T20:16:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201603_c2538570"}
2026-11-08T20:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.416,"exec_milliseconds":1416,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201603_c2538570"}
2026-11-08T20: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":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.425,"duration_milliseconds":425,"important":true,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.432,"exec_milliseconds":1432,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201702_25a96dcc"}
2026-11-08T20:18: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":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201803_aac663c3"}
2026-11-08T20:19: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":"20261108_201903_c852441f"}
2026-11-08T20:19:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_201903_c852441f"}
2026-11-08T20:19:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_201903_c852441f"}
2026-11-08T20: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":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202011_28f78a89"}
2026-11-08T20: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":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202102_68895d6a"}
2026-11-08T20: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":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202203_aedd12bb"}
2026-11-08T20: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":"20261108_202302_057974eb"}
2026-11-08T20:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202302_057974eb"}
2026-11-08T20:23:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.297,"exec_milliseconds":1297,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202302_057974eb"}
2026-11-08T20: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":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.064,"duration_milliseconds":64,"important":true,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202403_d797518b"}
2026-11-08T20:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.353,"exec_milliseconds":1353,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202403_d797518b"}
2026-11-08T20: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":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202506_3b860059"}
2026-11-08T20:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202506_3b860059"}
2026-11-08T20: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":"20261108_202603_6e518f86"}
2026-11-08T20:26:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20:26:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.382,"exec_milliseconds":1382,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202603_6e518f86"}
2026-11-08T20: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":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202702_90c1ac0c"}
2026-11-08T20: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":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202803_bb54b1b5"}
2026-11-08T20: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":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_202902_6b6c7f62"}
2026-11-08T20: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":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:24+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203024_6a41d2e5"}
2026-11-08T20: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":"20261108_203102_054394a7"}
2026-11-08T20:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203102_054394a7"}
2026-11-08T20:31:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203102_054394a7"}
2026-11-08T20: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":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203203_06a32cad"}
2026-11-08T20: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":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.414,"exec_milliseconds":1414,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203302_b44b19e0"}
2026-11-08T20: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":"20261108_203403_ef145455"}
2026-11-08T20:34:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203403_ef145455"}
2026-11-08T20:34:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203403_ef145455"}
2026-11-08T20: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":"20261108_203507_27986cfb"}
2026-11-08T20:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203507_27986cfb"}
2026-11-08T20: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":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.287,"exec_milliseconds":1287,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203603_22c20c24"}
2026-11-08T20: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":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20:37:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.277,"exec_milliseconds":1277,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203702_f0dffc2b"}
2026-11-08T20: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":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203803_b6a5301a"}
2026-11-08T20:39: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":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_203903_4ba4ee63"}
2026-11-08T20: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":"20261108_204011_764e4dd5"}
2026-11-08T20:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20:40:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204011_764e4dd5"}
2026-11-08T20: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":"20261108_204102_dbb1a777"}
2026-11-08T20:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.412,"exec_milliseconds":1412,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204102_dbb1a777"}
2026-11-08T20: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":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.392,"exec_milliseconds":1392,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204203_9d7df549"}
2026-11-08T20: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":"20261108_204302_b790c359"}
2026-11-08T20:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204302_b790c359"}
2026-11-08T20:43:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204302_b790c359"}
2026-11-08T20: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":"20261108_204403_ad8903a4"}
2026-11-08T20:44:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:44:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204403_ad8903a4"}
2026-11-08T20:45: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":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:13+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.349,"duration_milliseconds":349,"important":true,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20:45:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204513_d6d66e3e"}
2026-11-08T20: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":"20261108_204603_0d019782"}
2026-11-08T20:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204603_0d019782"}
2026-11-08T20:46:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.486,"exec_milliseconds":1486,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204603_0d019782"}
2026-11-08T20: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":"20261108_204702_1dc22a83"}
2026-11-08T20:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204702_1dc22a83"}
2026-11-08T20:48: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":"20261108_204803_d80b87a5"}
2026-11-08T20:48:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204803_d80b87a5"}
2026-11-08T20: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":"20261108_204903_c741ab41"}
2026-11-08T20:49:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20:49:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.409,"exec_milliseconds":1409,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_204903_c741ab41"}
2026-11-08T20: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":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:11+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205011_875375c0"}
2026-11-08T20:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205011_875375c0"}
2026-11-08T20: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":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20:51:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.415,"exec_milliseconds":1415,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205102_b1d66d3c"}
2026-11-08T20: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":"20261108_205203_4430a7e9"}
2026-11-08T20:52:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20:52:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.484,"exec_milliseconds":1484,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205203_4430a7e9"}
2026-11-08T20: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":"20261108_205302_59a7d913"}
2026-11-08T20:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20:53:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205302_59a7d913"}
2026-11-08T20: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":"20261108_205403_6bed699b"}
2026-11-08T20:54:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20:54:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.35,"exec_milliseconds":1350,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205403_6bed699b"}
2026-11-08T20: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":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205506_07a86835"}
2026-11-08T20:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205506_07a86835"}
2026-11-08T20: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":"20261108_205603_e0df7849"}
2026-11-08T20:56:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.366,"duration_milliseconds":366,"important":true,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.389,"exec_milliseconds":1389,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205603_e0df7849"}
2026-11-08T20: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":"20261108_205702_63e2aba4"}
2026-11-08T20:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20:57:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205702_63e2aba4"}
2026-11-08T20: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":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.369,"duration_milliseconds":369,"important":true,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205803_ef541d9d"}
2026-11-08T20: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":"20261108_205902_bdef21d6"}
2026-11-08T20:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T20:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_205902_bdef21d6"}
2026-11-08T21:00:32+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:32+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:32+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:32+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.37,"duration_milliseconds":370,"important":true,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21:00:33+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210032_8bc62f8a"}
2026-11-08T21: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":"20261108_210102_5356ebec"}
2026-11-08T21:01:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.412,"exec_milliseconds":1412,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210102_5356ebec"}
2026-11-08T21: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":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.07,"duration_milliseconds":70,"important":true,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.461,"exec_milliseconds":1461,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210203_8a6457f6"}
2026-11-08T21: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":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.382,"exec_milliseconds":1382,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210302_d9c46be1"}
2026-11-08T21: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":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.374,"duration_milliseconds":374,"important":true,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.057,"duration_milliseconds":57,"important":true,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.065,"duration_milliseconds":65,"important":true,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210403_f16675af"}
2026-11-08T21:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.477,"exec_milliseconds":1477,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210403_f16675af"}
2026-11-08T21: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":"20261108_210507_46d2f005"}
2026-11-08T21:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210507_46d2f005"}
2026-11-08T21: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":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210603_ac441e47"}
2026-11-08T21: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":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210702_10916f41"}
2026-11-08T21:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210702_10916f41"}
2026-11-08T21: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":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.053,"duration_milliseconds":53,"important":true,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210803_2ffa4b1a"}
2026-11-08T21: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":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_210903_39ccfee3"}
2026-11-08T21:10: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":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.375,"exec_milliseconds":1375,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211011_61c2eac3"}
2026-11-08T21: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":"20261108_211102_651677d8"}
2026-11-08T21:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.366,"duration_milliseconds":366,"important":true,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211102_651677d8"}
2026-11-08T21:11:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211102_651677d8"}
2026-11-08T21: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":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211203_fc50f6cb"}
2026-11-08T21: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":"20261108_211302_dd432cf7"}
2026-11-08T21:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.375,"duration_milliseconds":375,"important":true,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21:13:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211302_dd432cf7"}
2026-11-08T21: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":"20261108_211403_a9930a1f"}
2026-11-08T21:14:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.379,"duration_milliseconds":379,"important":true,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.058,"duration_milliseconds":58,"important":true,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:14:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.377,"exec_milliseconds":1377,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211403_a9930a1f"}
2026-11-08T21:15: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":"20261108_211513_2736e870"}
2026-11-08T21:15:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211513_2736e870"}
2026-11-08T21:15:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.38,"exec_milliseconds":1380,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211513_2736e870"}
2026-11-08T21: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":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211603_885bd787"}
2026-11-08T21:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.448,"exec_milliseconds":1448,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211603_885bd787"}
2026-11-08T21: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":"20261108_211702_aae55ccc"}
2026-11-08T21:17:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21:17:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211702_aae55ccc"}
2026-11-08T21: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":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211804_df08d201"}
2026-11-08T21:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.403,"exec_milliseconds":1403,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211804_df08d201"}
2026-11-08T21: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":"20261108_211902_7e48b47c"}
2026-11-08T21:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_211902_7e48b47c"}
2026-11-08T21: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":"20261108_212011_b2742b84"}
2026-11-08T21:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21:20:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212011_b2742b84"}
2026-11-08T21: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":"20261108_212102_4b2ded76"}
2026-11-08T21:21:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21:21:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212102_4b2ded76"}
2026-11-08T21: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":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212203_3df8402b"}
2026-11-08T21: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":"20261108_212302_12944dc7"}
2026-11-08T21:23:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21:23:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212302_12944dc7"}
2026-11-08T21: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":"20261108_212403_4cb92d65"}
2026-11-08T21:24:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21:24:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212403_4cb92d65"}
2026-11-08T21: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":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.368,"exec_milliseconds":1368,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212507_1d03caf8"}
2026-11-08T21: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":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.293,"exec_milliseconds":1293,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212603_233cb7f5"}
2026-11-08T21: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":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.375,"duration_milliseconds":375,"important":true,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21:27:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212702_cbecf106"}
2026-11-08T21: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":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212803_27f5c9ac"}
2026-11-08T21: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":"20261108_212902_25023748"}
2026-11-08T21:29:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_212902_25023748"}
2026-11-08T21:29:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_212902_25023748"}
2026-11-08T21:29:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.371,"exec_milliseconds":1371,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_212902_25023748"}
2026-11-08T21: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":"20261108_213024_76000b00"}
2026-11-08T21:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213024_76000b00"}
2026-11-08T21:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.405,"exec_milliseconds":1405,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213024_76000b00"}
2026-11-08T21: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":"20261108_213102_d645ef0c"}
2026-11-08T21:31:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21:31:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.408,"exec_milliseconds":1408,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213102_d645ef0c"}
2026-11-08T21: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":"20261108_213203_8d8b3710"}
2026-11-08T21:32:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21:32:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213203_8d8b3710"}
2026-11-08T21: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":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213302_c08d5c5c"}
2026-11-08T21: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":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21:34:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.4,"exec_milliseconds":1400,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213403_d376b0a4"}
2026-11-08T21: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":"20261108_213507_3942ba2a"}
2026-11-08T21:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213507_3942ba2a"}
2026-11-08T21: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":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.06,"duration_milliseconds":60,"important":true,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213604_49dfe5f3"}
2026-11-08T21: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":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21:37:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.384,"exec_milliseconds":1384,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213702_5b3bbbfc"}
2026-11-08T21: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":"20261108_213803_ca51c354"}
2026-11-08T21:38:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.377,"duration_milliseconds":377,"important":true,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213803_ca51c354"}
2026-11-08T21: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":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21:39:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.382,"exec_milliseconds":1382,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_213902_4e900baf"}
2026-11-08T21: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":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:13+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21:40:14+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214013_8d880c8b"}
2026-11-08T21: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":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.349,"duration_milliseconds":349,"important":true,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214102_880643c5"}
2026-11-08T21:41:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.34,"exec_milliseconds":1340,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214102_880643c5"}
2026-11-08T21: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":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214204_47ec0075"}
2026-11-08T21: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":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214302_862088a2"}
2026-11-08T21:43:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.412,"exec_milliseconds":1412,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214302_862088a2"}
2026-11-08T21: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":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214404_d069c713"}
2026-11-08T21:44:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.409,"exec_milliseconds":1409,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214404_d069c713"}
2026-11-08T21: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":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:15+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:15+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:15+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21:45:16+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214515_c7fa06d8"}
2026-11-08T21: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":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.423,"exec_milliseconds":1423,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214603_aa4d114b"}
2026-11-08T21: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":"20261108_214702_8d629e29"}
2026-11-08T21:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21:47:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.346,"exec_milliseconds":1346,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214702_8d629e29"}
2026-11-08T21: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":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214804_21b0aefc"}
2026-11-08T21: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":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.41,"exec_milliseconds":1410,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_214902_e50dd0e3"}
2026-11-08T21: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":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:11+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.393,"exec_milliseconds":1393,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215011_2a116ede"}
2026-11-08T21: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":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215102_bdd284f9"}
2026-11-08T21: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":"20261108_215203_42fdb146"}
2026-11-08T21:52:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21:52:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.31,"exec_milliseconds":1310,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215203_42fdb146"}
2026-11-08T21: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":"20261108_215302_73a255b7"}
2026-11-08T21:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21:53:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215302_73a255b7"}
2026-11-08T21: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":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.306,"exec_milliseconds":1306,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215403_87f60d73"}
2026-11-08T21:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.366,"duration_milliseconds":366,"important":true,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215506_a1122e24"}
2026-11-08T21: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":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215603_795ddce6"}
2026-11-08T21: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":"20261108_215702_74f75f6c"}
2026-11-08T21:57:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21:57:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215702_74f75f6c"}
2026-11-08T21: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":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.472,"exec_milliseconds":1472,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215803_9bac5285"}
2026-11-08T21:59: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":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T21:59:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.413,"exec_milliseconds":1413,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_215903_e1c9bde1"}
2026-11-08T22:00:33+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:33+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.349,"duration_milliseconds":349,"important":true,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22:00:34+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.373,"exec_milliseconds":1373,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220033_2b75f55b"}
2026-11-08T22: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":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.367,"duration_milliseconds":367,"important":true,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.054,"duration_milliseconds":54,"important":true,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22:01:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.414,"exec_milliseconds":1414,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220103_7eb73cb9"}
2026-11-08T22: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":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22:02:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.45,"exec_milliseconds":1450,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220203_2e96fb45"}
2026-11-08T22: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":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220302_451268be"}
2026-11-08T22:03:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220302_451268be"}
2026-11-08T22: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":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220403_de194627"}
2026-11-08T22:04:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.345,"exec_milliseconds":1345,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220403_de194627"}
2026-11-08T22: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":"20261108_220507_3f963579"}
2026-11-08T22:05:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220507_3f963579"}
2026-11-08T22:05:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.347,"exec_milliseconds":1347,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220507_3f963579"}
2026-11-08T22: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":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220603_132054d6"}
2026-11-08T22:06:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220603_132054d6"}
2026-11-08T22: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":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220702_32819f94"}
2026-11-08T22:07:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220702_32819f94"}
2026-11-08T22: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":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220803_d5741991"}
2026-11-08T22:08:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220803_d5741991"}
2026-11-08T22: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":"20261108_220903_48fb2094"}
2026-11-08T22:09:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:09:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.351,"exec_milliseconds":1351,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_220903_48fb2094"}
2026-11-08T22:10: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":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22:10:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221011_4ab776b8"}
2026-11-08T22: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":"20261108_221102_2b4e555e"}
2026-11-08T22:11:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:11:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221102_2b4e555e"}
2026-11-08T22:12: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":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.345,"duration_milliseconds":345,"important":true,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22:12:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221203_60f4a285"}
2026-11-08T22: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":"20261108_221302_e4d75878"}
2026-11-08T22:13:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.366,"duration_milliseconds":366,"important":true,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22:13:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221302_e4d75878"}
2026-11-08T22: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":"20261108_221403_b1934321"}
2026-11-08T22:14:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:14:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221403_b1934321"}
2026-11-08T22:15: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":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22:15:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.344,"exec_milliseconds":1344,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221513_0c5a60ea"}
2026-11-08T22: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":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22:16:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.475,"exec_milliseconds":1475,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221604_1ac2bbe5"}
2026-11-08T22: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":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:17:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221702_21ce3e44"}
2026-11-08T22:18: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":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22:18:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221803_a0115bb4"}
2026-11-08T22: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":"20261108_221902_06a86f2d"}
2026-11-08T22:19:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22:19:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_221902_06a86f2d"}
2026-11-08T22: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":"20261108_222011_6678a18e"}
2026-11-08T22:20:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:13+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:13+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:13+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22:20:13+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222011_6678a18e"}
2026-11-08T22: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":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22:21:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222102_cb613afd"}
2026-11-08T22: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":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.375,"duration_milliseconds":375,"important":true,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22:22:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222203_2f7fa621"}
2026-11-08T22: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":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22:23:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.326,"exec_milliseconds":1326,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222302_5f50849b"}
2026-11-08T22: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":"20261108_222403_c03c81ae"}
2026-11-08T22:24:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22:24:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222403_c03c81ae"}
2026-11-08T22: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":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22:25:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.364,"exec_milliseconds":1364,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222506_9f6b8820"}
2026-11-08T22: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":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22:26:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222603_f6e8f045"}
2026-11-08T22: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":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22:27:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.299,"exec_milliseconds":1299,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222702_ab84d0b6"}
2026-11-08T22: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":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22:28:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222803_b7d4083e"}
2026-11-08T22: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":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22:29:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.403,"exec_milliseconds":1403,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_222902_cceb8516"}
2026-11-08T22: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":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:24+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.373,"duration_milliseconds":373,"important":true,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22:30:25+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.389,"exec_milliseconds":1389,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223024_d7f640c1"}
2026-11-08T22: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":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22:31:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.418,"exec_milliseconds":1418,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223102_ea9b67cc"}
2026-11-08T22: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":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22:32:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.422,"exec_milliseconds":1422,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223203_a5f8c3ce"}
2026-11-08T22: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":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22:33:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223302_34b6810a"}
2026-11-08T22: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":"20261108_223403_86832724"}
2026-11-08T22:34:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223403_86832724"}
2026-11-08T22:34:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223403_86832724"}
2026-11-08T22:34:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223403_86832724"}
2026-11-08T22: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":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22:35:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223506_a02fa490"}
2026-11-08T22: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":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.369,"duration_milliseconds":369,"important":true,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223603_c3591603"}
2026-11-08T22:36:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.369,"exec_milliseconds":1369,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223603_c3591603"}
2026-11-08T22: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":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22:37:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.364,"exec_milliseconds":1364,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223702_34f6cf8e"}
2026-11-08T22: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":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22:38:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223803_7a7aad8c"}
2026-11-08T22: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":"20261108_223902_98902a4c"}
2026-11-08T22:39:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22:39:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_223902_98902a4c"}
2026-11-08T22: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":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:11+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224011_5360256c"}
2026-11-08T22:40:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224011_5360256c"}
2026-11-08T22: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":"20261108_224102_420033fe"}
2026-11-08T22:41:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224102_420033fe"}
2026-11-08T22:41:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224102_420033fe"}
2026-11-08T22: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":"20261108_224203_34127bac"}
2026-11-08T22:42:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224203_34127bac"}
2026-11-08T22:42:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224203_34127bac"}
2026-11-08T22: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":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22:43:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224302_a6de5ef7"}
2026-11-08T22: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":"20261108_224403_8ef98309"}
2026-11-08T22:44:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:44:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.396,"exec_milliseconds":1396,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224403_8ef98309"}
2026-11-08T22:45: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":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:14+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.376,"duration_milliseconds":376,"important":true,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22:45:15+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224513_9f7ac2b4"}
2026-11-08T22: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":"20261108_224603_aa662846"}
2026-11-08T22:46:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.063,"duration_milliseconds":63,"important":true,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.063,"duration_milliseconds":63,"important":true,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224603_aa662846"}
2026-11-08T22:46:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.437,"exec_milliseconds":1437,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224603_aa662846"}
2026-11-08T22: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":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.383,"duration_milliseconds":383,"important":true,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22:47:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224702_4ed0fffc"}
2026-11-08T22: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":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22:48:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.361,"exec_milliseconds":1361,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224803_3f1af27f"}
2026-11-08T22: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":"20261108_224902_a1222697"}
2026-11-08T22:49:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_224902_a1222697"}
2026-11-08T22:49:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_224902_a1222697"}
2026-11-08T22: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":"20261108_225011_84e90abc"}
2026-11-08T22:50:11+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:11+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:11+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22:50:12+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225011_84e90abc"}
2026-11-08T22: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":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225102_98c50786"}
2026-11-08T22:51:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.398,"exec_milliseconds":1398,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225102_98c50786"}
2026-11-08T22: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":"20261108_225203_b9151fbc"}
2026-11-08T22:52:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.058,"duration_milliseconds":58,"important":true,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22:52:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225203_b9151fbc"}
2026-11-08T22: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":"20261108_225302_0bb35fce"}
2026-11-08T22:53:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22:53:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.406,"exec_milliseconds":1406,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225302_0bb35fce"}
2026-11-08T22: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":"20261108_225403_28cffb36"}
2026-11-08T22:54:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.397,"duration_milliseconds":397,"important":true,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:54:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.429,"exec_milliseconds":1429,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225403_28cffb36"}
2026-11-08T22:55:06+01:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:07+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225506_23973500"}
2026-11-08T22:55:08+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225506_23973500"}
2026-11-08T22: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":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22:56:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.355,"exec_milliseconds":1355,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225603_78ddae96"}
2026-11-08T22: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":"20261108_225703_f26128be"}
2026-11-08T22:57:03+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:03+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:03+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225703_f26128be"}
2026-11-08T22:57:04+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225703_f26128be"}
2026-11-08T22: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":"20261108_225804_c084b484"}
2026-11-08T22:58:04+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:04+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:04+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:04+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225804_c084b484"}
2026-11-08T22:58:05+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.4,"exec_milliseconds":1400,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225804_c084b484"}
2026-11-08T22: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":"20261108_225902_f66bd24f"}
2026-11-08T22:59:02+01:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:02+01:00 [INFO] Loaded referee list {"count":33,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:02+01:00 [INFO] Loaded TK list {"count":12,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Team meta loaded {"count":1,"season":"2025/2026","run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Live games query successful {"count":0,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006861,"result":"77:73","run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006861,"duration_seconds":0.356,"duration_milliseconds":356,"important":true,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006863,"result":"72:74","run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006863,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback row rendered {"spiel_id":2006862,"result":"73:94","run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Fallback game timing {"spiel_id":2006862,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":42059,"run_id":"20261108_225902_f66bd24f"}
2026-11-08T22:59:03+01:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"live_games":0,"fallback_games":3,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":42059,"important":true,"run_id":"20261108_225902_f66bd24f"}
