2026-04-25T07:56:15+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T07:56:15+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.782,"exec_milliseconds":782,"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":33125,"important":true,"run_id":"20260425_075615_00cddb7b"}
2026-04-25T13:00:24+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:24+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:24+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:24+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:24+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:24+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:25+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:25+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:25+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:00:25+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.761,"exec_milliseconds":761,"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":33125,"important":true,"run_id":"20260425_130024_a7dea57c"}
2026-04-25T13:01:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:01:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.723,"exec_milliseconds":723,"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":33125,"important":true,"run_id":"20260425_130101_cde3d548"}
2026-04-25T13:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:02:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.72,"exec_milliseconds":720,"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":33125,"important":true,"run_id":"20260425_130202_9e18c4ac"}
2026-04-25T13:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:03:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.738,"exec_milliseconds":738,"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":33125,"important":true,"run_id":"20260425_130301_744f4e79"}
2026-04-25T13:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:04:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.705,"exec_milliseconds":705,"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":33125,"important":true,"run_id":"20260425_130402_4a599ab1"}
2026-04-25T13:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:05:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.719,"exec_milliseconds":719,"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":33125,"important":true,"run_id":"20260425_130506_b06e5fb5"}
2026-04-25T13:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130602_288de831"}
2026-04-25T13:06:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.783,"exec_milliseconds":783,"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":33125,"important":true,"run_id":"20260425_130602_288de831"}
2026-04-25T13:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130701_50015796"}
2026-04-25T13:07:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.748,"exec_milliseconds":748,"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":33125,"important":true,"run_id":"20260425_130701_50015796"}
2026-04-25T13:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:08:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.74,"exec_milliseconds":740,"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":33125,"important":true,"run_id":"20260425_130802_fe906313"}
2026-04-25T13:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:09:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.688,"exec_milliseconds":688,"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":33125,"important":true,"run_id":"20260425_130901_7adef5e5"}
2026-04-25T13:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:10:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.709,"exec_milliseconds":709,"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":33125,"important":true,"run_id":"20260425_131009_8a42b2e3"}
2026-04-25T13:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:01+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:11:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.728,"exec_milliseconds":728,"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":33125,"important":true,"run_id":"20260425_131101_8bf45453"}
2026-04-25T13:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:12:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.677,"exec_milliseconds":677,"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":33125,"important":true,"run_id":"20260425_131202_df6e65a2"}
2026-04-25T13:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:13:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.687,"exec_milliseconds":687,"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":33125,"important":true,"run_id":"20260425_131301_737a5ddc"}
2026-04-25T13:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:14:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.711,"exec_milliseconds":711,"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":33125,"important":true,"run_id":"20260425_131402_a5ebfe5e"}
2026-04-25T13:15:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131508_78653244"}
2026-04-25T13:15:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.73,"exec_milliseconds":730,"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":33125,"important":true,"run_id":"20260425_131508_78653244"}
2026-04-25T13:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:16:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.715,"exec_milliseconds":715,"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":33125,"important":true,"run_id":"20260425_131602_dbbea2ca"}
2026-04-25T13:17:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:17:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.688,"exec_milliseconds":688,"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":33125,"important":true,"run_id":"20260425_131701_0dbf7c9a"}
2026-04-25T13:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:18:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.689,"exec_milliseconds":689,"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":33125,"important":true,"run_id":"20260425_131802_4782f18d"}
2026-04-25T13:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:19:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.682,"exec_milliseconds":682,"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":33125,"important":true,"run_id":"20260425_131901_f47f948e"}
2026-04-25T13:20:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:20:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.697,"exec_milliseconds":697,"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":33125,"important":true,"run_id":"20260425_132009_a10c059a"}
2026-04-25T13:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:21:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.703,"exec_milliseconds":703,"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":33125,"important":true,"run_id":"20260425_132101_f5921482"}
2026-04-25T13:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:22:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.692,"exec_milliseconds":692,"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":33125,"important":true,"run_id":"20260425_132202_8ba65ed6"}
2026-04-25T13:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:23:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.712,"exec_milliseconds":712,"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":33125,"important":true,"run_id":"20260425_132301_433871e1"}
2026-04-25T13:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:24:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.678,"exec_milliseconds":678,"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":33125,"important":true,"run_id":"20260425_132402_99f61665"}
2026-04-25T13:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:25:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.714,"exec_milliseconds":714,"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":33125,"important":true,"run_id":"20260425_132505_97041c26"}
2026-04-25T13:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:26:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.716,"exec_milliseconds":716,"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":33125,"important":true,"run_id":"20260425_132602_1bb22103"}
2026-04-25T13:27:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:27:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.692,"exec_milliseconds":692,"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":33125,"important":true,"run_id":"20260425_132701_9572f0b5"}
2026-04-25T13:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:28:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.694,"exec_milliseconds":694,"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":33125,"important":true,"run_id":"20260425_132802_9dd64abb"}
2026-04-25T13:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:29:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.713,"exec_milliseconds":713,"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":33125,"important":true,"run_id":"20260425_132901_5a062639"}
2026-04-25T13:30:16+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:16+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:16+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:16+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:16+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:16+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:17+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:17+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:17+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:30:17+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.678,"exec_milliseconds":678,"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":33125,"important":true,"run_id":"20260425_133016_4e38cd19"}
2026-04-25T13:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:31:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.744,"exec_milliseconds":744,"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":33125,"important":true,"run_id":"20260425_133101_bdc958ee"}
2026-04-25T13:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:32:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.691,"exec_milliseconds":691,"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":33125,"important":true,"run_id":"20260425_133202_03a5e7e6"}
2026-04-25T13:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:33:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.684,"exec_milliseconds":684,"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":33125,"important":true,"run_id":"20260425_133301_19e37b63"}
2026-04-25T13:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133402_88519310"}
2026-04-25T13:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133402_88519310"}
2026-04-25T13:34:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133402_88519310"}
2026-04-25T13:34:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.658,"exec_milliseconds":658,"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":33125,"important":true,"run_id":"20260425_133402_88519310"}
2026-04-25T13:35:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:35:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.672,"exec_milliseconds":672,"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":33125,"important":true,"run_id":"20260425_133505_bb364c9a"}
2026-04-25T13:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:36:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.68,"exec_milliseconds":680,"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":33125,"important":true,"run_id":"20260425_133602_68c06ea9"}
2026-04-25T13:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:37:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.694,"exec_milliseconds":694,"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":33125,"important":true,"run_id":"20260425_133701_6db0cc2f"}
2026-04-25T13:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:38:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.671,"exec_milliseconds":671,"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":33125,"important":true,"run_id":"20260425_133802_c9cce0ba"}
2026-04-25T13:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:39:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.707,"exec_milliseconds":707,"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":33125,"important":true,"run_id":"20260425_133901_124a9946"}
2026-04-25T13:40:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:40:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.687,"exec_milliseconds":687,"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":33125,"important":true,"run_id":"20260425_134009_24c03960"}
2026-04-25T13:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:41:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.724,"exec_milliseconds":724,"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":33125,"important":true,"run_id":"20260425_134101_8bf5e703"}
2026-04-25T13:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:42:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.743,"exec_milliseconds":743,"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":33125,"important":true,"run_id":"20260425_134202_e4b3d1aa"}
2026-04-25T13:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:43:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.686,"exec_milliseconds":686,"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":33125,"important":true,"run_id":"20260425_134301_7798be1a"}
2026-04-25T13:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:44:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.689,"exec_milliseconds":689,"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":33125,"important":true,"run_id":"20260425_134402_335baf96"}
2026-04-25T13:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:45:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.673,"exec_milliseconds":673,"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":33125,"important":true,"run_id":"20260425_134509_99eba517"}
2026-04-25T13:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:46:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.688,"exec_milliseconds":688,"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":33125,"important":true,"run_id":"20260425_134602_d8a8b7da"}
2026-04-25T13:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:47:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.696,"exec_milliseconds":696,"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":33125,"important":true,"run_id":"20260425_134701_b8b37215"}
2026-04-25T13:48:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:48:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.705,"exec_milliseconds":705,"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":33125,"important":true,"run_id":"20260425_134802_223d9e5b"}
2026-04-25T13:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:49:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.687,"exec_milliseconds":687,"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":33125,"important":true,"run_id":"20260425_134901_ea8dbff8"}
2026-04-25T13:50:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:50:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.709,"exec_milliseconds":709,"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":33125,"important":true,"run_id":"20260425_135008_59e61427"}
2026-04-25T13:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:51:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.723,"exec_milliseconds":723,"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":33125,"important":true,"run_id":"20260425_135101_652b8067"}
2026-04-25T13:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:52:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.652,"exec_milliseconds":652,"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":33125,"important":true,"run_id":"20260425_135202_7731cd79"}
2026-04-25T13:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:53:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.671,"exec_milliseconds":671,"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":33125,"important":true,"run_id":"20260425_135301_348aac81"}
2026-04-25T13:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:54:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.717,"exec_milliseconds":717,"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":33125,"important":true,"run_id":"20260425_135402_6c9b4bde"}
2026-04-25T13:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:55:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.714,"exec_milliseconds":714,"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":33125,"important":true,"run_id":"20260425_135504_224fc06d"}
2026-04-25T13:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:56:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.706,"exec_milliseconds":706,"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":33125,"important":true,"run_id":"20260425_135602_b3c26a90"}
2026-04-25T13:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:57:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.7,"exec_milliseconds":700,"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":33125,"important":true,"run_id":"20260425_135701_e8f0d44b"}
2026-04-25T13:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:58:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.706,"exec_milliseconds":706,"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":33125,"important":true,"run_id":"20260425_135802_7149d63b"}
2026-04-25T13:59:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_135902_704cd715"}
2026-04-25T13:59:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.715,"exec_milliseconds":715,"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":33125,"important":true,"run_id":"20260425_135902_704cd715"}
2026-04-25T14:00:27+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:00:27+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.67,"exec_milliseconds":670,"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":33125,"important":true,"run_id":"20260425_140026_02864e66"}
2026-04-25T14:01:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:01:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.735,"exec_milliseconds":735,"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":33125,"important":true,"run_id":"20260425_140101_6d4f2c06"}
2026-04-25T14:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:02:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.71,"exec_milliseconds":710,"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":33125,"important":true,"run_id":"20260425_140202_871abcb9"}
2026-04-25T14:03:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:03:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.705,"exec_milliseconds":705,"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":33125,"important":true,"run_id":"20260425_140301_79eb947f"}
2026-04-25T14:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:04:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.705,"exec_milliseconds":705,"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":33125,"important":true,"run_id":"20260425_140402_33cefb5b"}
2026-04-25T14:05:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:05:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.688,"exec_milliseconds":688,"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":33125,"important":true,"run_id":"20260425_140505_0b8cf7ba"}
2026-04-25T14:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:06:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.689,"exec_milliseconds":689,"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":33125,"important":true,"run_id":"20260425_140602_47a4cc2d"}
2026-04-25T14:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:07:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.67,"exec_milliseconds":670,"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":33125,"important":true,"run_id":"20260425_140701_816ec4b2"}
2026-04-25T14:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:08:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.685,"exec_milliseconds":685,"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":33125,"important":true,"run_id":"20260425_140802_66e46468"}
2026-04-25T14:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:09:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.705,"exec_milliseconds":705,"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":33125,"important":true,"run_id":"20260425_140901_69423ea6"}
2026-04-25T14:10:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:10:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.73,"exec_milliseconds":730,"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":33125,"important":true,"run_id":"20260425_141008_16a50a6e"}
2026-04-25T14:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:11:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.701,"exec_milliseconds":701,"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":33125,"important":true,"run_id":"20260425_141101_415b0e34"}
2026-04-25T14:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:12:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.715,"exec_milliseconds":715,"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":33125,"important":true,"run_id":"20260425_141202_fe331de7"}
2026-04-25T14:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:13:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.723,"exec_milliseconds":723,"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":33125,"important":true,"run_id":"20260425_141301_0bd83e0b"}
2026-04-25T14:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:14:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.698,"exec_milliseconds":698,"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":33125,"important":true,"run_id":"20260425_141402_a312e89d"}
2026-04-25T14:15:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:15:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.728,"exec_milliseconds":728,"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":33125,"important":true,"run_id":"20260425_141510_ff46e8ff"}
2026-04-25T14:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:16:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.677,"exec_milliseconds":677,"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":33125,"important":true,"run_id":"20260425_141602_e7ec2d6f"}
2026-04-25T14:17:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:17:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.7,"exec_milliseconds":700,"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":33125,"important":true,"run_id":"20260425_141701_64bd69e5"}
2026-04-25T14:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:18:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.681,"exec_milliseconds":681,"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":33125,"important":true,"run_id":"20260425_141802_bfa974dd"}
2026-04-25T14:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:19:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.698,"exec_milliseconds":698,"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":33125,"important":true,"run_id":"20260425_141901_af7fc637"}
2026-04-25T14:20:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:20:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.675,"exec_milliseconds":675,"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":33125,"important":true,"run_id":"20260425_142008_1b03fc07"}
2026-04-25T14:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:21:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.713,"exec_milliseconds":713,"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":33125,"important":true,"run_id":"20260425_142101_088f9860"}
2026-04-25T14:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:22:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.719,"exec_milliseconds":719,"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":33125,"important":true,"run_id":"20260425_142202_c900dd99"}
2026-04-25T14:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:23:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.732,"exec_milliseconds":732,"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":33125,"important":true,"run_id":"20260425_142301_0415b3c9"}
2026-04-25T14:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:24:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.688,"exec_milliseconds":688,"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":33125,"important":true,"run_id":"20260425_142402_b1dcbc1b"}
2026-04-25T14:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:25:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.713,"exec_milliseconds":713,"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":33125,"important":true,"run_id":"20260425_142505_9ae3f8a4"}
2026-04-25T14:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:26:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.715,"exec_milliseconds":715,"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":33125,"important":true,"run_id":"20260425_142602_36b14107"}
2026-04-25T14:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:27:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.701,"exec_milliseconds":701,"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":33125,"important":true,"run_id":"20260425_142701_25bc9b05"}
2026-04-25T14:28:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:28:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.696,"exec_milliseconds":696,"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":33125,"important":true,"run_id":"20260425_142802_a88f71d8"}
2026-04-25T14:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":33125,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:29:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":0.706,"exec_milliseconds":706,"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":33125,"important":true,"run_id":"20260425_142901_8b81f02c"}
2026-04-25T14:30:18+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.572,"duration_milliseconds":572,"important":true,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:30:19+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143018_1b21ba08"}
2026-04-25T14:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:31:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.366,"exec_milliseconds":1366,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143101_6348d0c6"}
2026-04-25T14:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:32:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.294,"exec_milliseconds":1294,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143202_e0f681b3"}
2026-04-25T14:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:33:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.33,"exec_milliseconds":1330,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143301_5b2f5c67"}
2026-04-25T14:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:34:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143402_ea33a45b"}
2026-04-25T14:35:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:05+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:35:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.293,"exec_milliseconds":1293,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143505_1c11ba93"}
2026-04-25T14:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143602_917355da"}
2026-04-25T14:36:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143602_917355da"}
2026-04-25T14:36:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.585,"duration_milliseconds":585,"important":true,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143602_917355da"}
2026-04-25T14:36:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.339,"exec_milliseconds":1339,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143602_917355da"}
2026-04-25T14:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:37:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143701_0266ed3b"}
2026-04-25T14:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:38:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.317,"exec_milliseconds":1317,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143802_9f8b83c4"}
2026-04-25T14:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:39:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.323,"exec_milliseconds":1323,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_143901_e0807f78"}
2026-04-25T14:40:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:40:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144009_09acd822"}
2026-04-25T14:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:41:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.341,"exec_milliseconds":1341,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144101_7c20a91d"}
2026-04-25T14:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:42:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.329,"exec_milliseconds":1329,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144202_eb14db26"}
2026-04-25T14:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.588,"duration_milliseconds":588,"important":true,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:43:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.342,"exec_milliseconds":1342,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144301_994f7449"}
2026-04-25T14:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.583,"duration_milliseconds":583,"important":true,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:44:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.314,"exec_milliseconds":1314,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144402_b60d964b"}
2026-04-25T14:45:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:45:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144510_c0b8e719"}
2026-04-25T14:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.571,"duration_milliseconds":571,"important":true,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:46:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144602_bcdbb70f"}
2026-04-25T14:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:47:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.295,"exec_milliseconds":1295,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144701_a77cbf35"}
2026-04-25T14:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:48:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144802_b058c481"}
2026-04-25T14:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_144901_68471953"}
2026-04-25T14:49:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_144901_68471953"}
2026-04-25T14:50:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:08+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.572,"duration_milliseconds":572,"important":true,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:50:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.335,"exec_milliseconds":1335,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145007_6df2633e"}
2026-04-25T14:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.564,"duration_milliseconds":564,"important":true,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:51:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145101_9d2e09e1"}
2026-04-25T14:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.567,"duration_milliseconds":567,"important":true,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:52:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145202_dc673a21"}
2026-04-25T14:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:53:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145301_de0779ac"}
2026-04-25T14:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:54:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145402_0e4fa1ad"}
2026-04-25T14:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:05+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:55:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145504_0ee0ca81"}
2026-04-25T14:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:56:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.337,"exec_milliseconds":1337,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145602_a52f66e1"}
2026-04-25T14:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:57:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.324,"exec_milliseconds":1324,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145701_4be3d62c"}
2026-04-25T14:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.588,"duration_milliseconds":588,"important":true,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:58:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.442,"exec_milliseconds":1442,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145802_72905e98"}
2026-04-25T14:59:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.581,"duration_milliseconds":581,"important":true,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T14:59:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.37,"exec_milliseconds":1370,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_145901_d731e6a3"}
2026-04-25T15:00:27+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:27+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:00:28+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150027_c05030fd"}
2026-04-25T15:01:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:01:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.332,"exec_milliseconds":1332,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150101_3024f470"}
2026-04-25T15:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.572,"duration_milliseconds":572,"important":true,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:02:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.354,"exec_milliseconds":1354,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150202_fc54ca80"}
2026-04-25T15:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.57,"duration_milliseconds":570,"important":true,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:03:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150301_6cc1bf3d"}
2026-04-25T15:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:04:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.319,"exec_milliseconds":1319,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150402_18a386f7"}
2026-04-25T15:05:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:05+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.57,"duration_milliseconds":570,"important":true,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:05:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.272,"exec_milliseconds":1272,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150505_f0f5b7e4"}
2026-04-25T15:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:06:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150602_fbe9d6b7"}
2026-04-25T15:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:07:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150701_a24d09c6"}
2026-04-25T15:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.568,"duration_milliseconds":568,"important":true,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:08:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.296,"exec_milliseconds":1296,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150802_0773d66e"}
2026-04-25T15:09:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.593,"duration_milliseconds":593,"important":true,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:09:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.374,"exec_milliseconds":1374,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_150901_b5462aee"}
2026-04-25T15:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.571,"duration_milliseconds":571,"important":true,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:10:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.338,"exec_milliseconds":1338,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151009_3a15a5fe"}
2026-04-25T15:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:11:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.359,"exec_milliseconds":1359,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151101_b0881428"}
2026-04-25T15:12:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151202_41804430"}
2026-04-25T15:12:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.352,"exec_milliseconds":1352,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151202_41804430"}
2026-04-25T15:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.585,"duration_milliseconds":585,"important":true,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151301_48889453"}
2026-04-25T15:13:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.333,"exec_milliseconds":1333,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151301_48889453"}
2026-04-25T15:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:14:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.338,"exec_milliseconds":1338,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151402_cdee3d92"}
2026-04-25T15:15:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:15:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151509_95c0f644"}
2026-04-25T15:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.581,"duration_milliseconds":581,"important":true,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:16:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151602_d67e314d"}
2026-04-25T15:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.599,"duration_milliseconds":599,"important":true,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:17:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.426,"exec_milliseconds":1426,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151701_06e208fb"}
2026-04-25T15:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.585,"duration_milliseconds":585,"important":true,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:18:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151802_4abf30aa"}
2026-04-25T15:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.558,"duration_milliseconds":558,"important":true,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:19:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_151901_eef089ac"}
2026-04-25T15:20:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.584,"duration_milliseconds":584,"important":true,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:20:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.334,"exec_milliseconds":1334,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152008_a70531f8"}
2026-04-25T15:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:21:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.307,"exec_milliseconds":1307,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152101_1d873b04"}
2026-04-25T15:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.571,"duration_milliseconds":571,"important":true,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:22:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152202_c21ad253"}
2026-04-25T15:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.594,"duration_milliseconds":594,"important":true,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:23:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.372,"exec_milliseconds":1372,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152301_2c0a00ef"}
2026-04-25T15:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.584,"duration_milliseconds":584,"important":true,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:24:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.344,"exec_milliseconds":1344,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152402_b2ca707d"}
2026-04-25T15:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:25:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.295,"exec_milliseconds":1295,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152505_50c0792f"}
2026-04-25T15:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:26:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.313,"exec_milliseconds":1313,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152602_0d7ab2c1"}
2026-04-25T15:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:27:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.311,"exec_milliseconds":1311,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152701_11eb733a"}
2026-04-25T15:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.567,"duration_milliseconds":567,"important":true,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:28:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.322,"exec_milliseconds":1322,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152802_a0df4a21"}
2026-04-25T15:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.562,"duration_milliseconds":562,"important":true,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.035,"duration_milliseconds":35,"important":true,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:29:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.309,"exec_milliseconds":1309,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_152901_e471604f"}
2026-04-25T15:30:16+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:17+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.587,"duration_milliseconds":587,"important":true,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:30:18+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.343,"exec_milliseconds":1343,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153016_d45b1f10"}
2026-04-25T15:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:31:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.349,"exec_milliseconds":1349,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153101_f93a04a1"}
2026-04-25T15:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.584,"duration_milliseconds":584,"important":true,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:32:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.308,"exec_milliseconds":1308,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153202_d51f1557"}
2026-04-25T15:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.562,"duration_milliseconds":562,"important":true,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:33:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.275,"exec_milliseconds":1275,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153301_1e6b1035"}
2026-04-25T15:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.566,"duration_milliseconds":566,"important":true,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:34:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.316,"exec_milliseconds":1316,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153402_d3660c11"}
2026-04-25T15:35:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.567,"duration_milliseconds":567,"important":true,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:35:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.306,"exec_milliseconds":1306,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153505_e71a7222"}
2026-04-25T15:36:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:36:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.32,"exec_milliseconds":1320,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153602_b09b77ad"}
2026-04-25T15:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.568,"duration_milliseconds":568,"important":true,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:37:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.283,"exec_milliseconds":1283,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153701_7657ce33"}
2026-04-25T15:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:38:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.325,"exec_milliseconds":1325,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153802_4dd21aab"}
2026-04-25T15:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.568,"duration_milliseconds":568,"important":true,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:39:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.328,"exec_milliseconds":1328,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_153901_f8188179"}
2026-04-25T15:40:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:40:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154010_7f2a77e5"}
2026-04-25T15:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:01+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.601,"duration_milliseconds":601,"important":true,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:41:02+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.348,"exec_milliseconds":1348,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154101_645667b4"}
2026-04-25T15:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.565,"duration_milliseconds":565,"important":true,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:42:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.318,"exec_milliseconds":1318,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154202_630ccf30"}
2026-04-25T15:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:43:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.356,"exec_milliseconds":1356,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154301_1903f0cd"}
2026-04-25T15:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:44:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.302,"exec_milliseconds":1302,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154402_f8182b8f"}
2026-04-25T15:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:45:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.283,"exec_milliseconds":1283,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154509_8aa0b771"}
2026-04-25T15:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:46:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.312,"exec_milliseconds":1312,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154602_cc168979"}
2026-04-25T15:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.619,"duration_milliseconds":619,"important":true,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:47:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154701_b072e20b"}
2026-04-25T15:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.585,"duration_milliseconds":585,"important":true,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:48:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.314,"exec_milliseconds":1314,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154802_c4446f0b"}
2026-04-25T15:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:49:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.301,"exec_milliseconds":1301,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_154901_e29d3a92"}
2026-04-25T15:50:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:08+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:08+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:08+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:08+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:50:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.365,"exec_milliseconds":1365,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155008_c190862c"}
2026-04-25T15:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:51:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.336,"exec_milliseconds":1336,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155101_53a6ec13"}
2026-04-25T15:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:52:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.315,"exec_milliseconds":1315,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155202_107f083c"}
2026-04-25T15:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.59,"duration_milliseconds":590,"important":true,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:53:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.362,"exec_milliseconds":1362,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155301_8c8c487a"}
2026-04-25T15:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:54:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.292,"exec_milliseconds":1292,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155402_e385f800"}
2026-04-25T15:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.579,"duration_milliseconds":579,"important":true,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:55:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.321,"exec_milliseconds":1321,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155505_4454ee60"}
2026-04-25T15:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:56:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.304,"exec_milliseconds":1304,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155602_e159bbd6"}
2026-04-25T15:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.593,"duration_milliseconds":593,"important":true,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:57:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.367,"exec_milliseconds":1367,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155701_de06bfbc"}
2026-04-25T15:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:58:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.327,"exec_milliseconds":1327,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155802_976dfc70"}
2026-04-25T15:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":38148,"run_id":"20260425_155901_376b81c5"}
2026-04-25T15:59:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.312,"exec_milliseconds":1312,"live_games":0,"fallback_games":2,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":38148,"important":true,"run_id":"20260425_155901_376b81c5"}
2026-04-25T16:00:26+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:27+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.58,"duration_milliseconds":580,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160026_09313496"}
2026-04-25T16:00:28+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.432,"exec_milliseconds":1432,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160026_09313496"}
2026-04-25T16:01:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:01:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.394,"exec_milliseconds":1394,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160101_264deb5a"}
2026-04-25T16:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:02:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160202_15e37079"}
2026-04-25T16:03:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.582,"duration_milliseconds":582,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:03:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160301_4de584be"}
2026-04-25T16:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:04:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.411,"exec_milliseconds":1411,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160402_b8266396"}
2026-04-25T16:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.567,"duration_milliseconds":567,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:05:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.421,"exec_milliseconds":1421,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160506_fc4e37b1"}
2026-04-25T16:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:06:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.444,"exec_milliseconds":1444,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160602_1d17445a"}
2026-04-25T16:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:07:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.393,"exec_milliseconds":1393,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160701_69f4aa1a"}
2026-04-25T16:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:08:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.424,"exec_milliseconds":1424,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160802_81d8b566"}
2026-04-25T16:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.566,"duration_milliseconds":566,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:09:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_160901_b5f4addc"}
2026-04-25T16:10:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:10:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.434,"exec_milliseconds":1434,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161010_4b29205e"}
2026-04-25T16:11:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:11:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161101_c15a71eb"}
2026-04-25T16:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.581,"duration_milliseconds":581,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:12:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.435,"exec_milliseconds":1435,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161202_3c4593a3"}
2026-04-25T16:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:13:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.44,"exec_milliseconds":1440,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161301_cb0c3cd3"}
2026-04-25T16:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:14:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.408,"exec_milliseconds":1408,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161402_e22d0472"}
2026-04-25T16:15:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:15:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.429,"exec_milliseconds":1429,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161509_f6f52ec1"}
2026-04-25T16:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:16:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.403,"exec_milliseconds":1403,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161602_90ce2af5"}
2026-04-25T16:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:17:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.424,"exec_milliseconds":1424,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161701_a902d8c2"}
2026-04-25T16:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:18:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.417,"exec_milliseconds":1417,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161802_8f6065b4"}
2026-04-25T16:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:19:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.402,"exec_milliseconds":1402,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_161901_8cee10a0"}
2026-04-25T16:20:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:09+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:20:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162008_7ec48787"}
2026-04-25T16:21:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:21:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.42,"exec_milliseconds":1420,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162101_f92e68d9"}
2026-04-25T16:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.587,"duration_milliseconds":587,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:22:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.431,"exec_milliseconds":1431,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162202_861adc4f"}
2026-04-25T16:23:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.576,"duration_milliseconds":576,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:23:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.41,"exec_milliseconds":1410,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162301_64e0a1a7"}
2026-04-25T16:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.568,"duration_milliseconds":568,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:24:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.39,"exec_milliseconds":1390,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162402_39c8d1be"}
2026-04-25T16:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:25:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.427,"exec_milliseconds":1427,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162505_a2c7936f"}
2026-04-25T16:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:26:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.428,"exec_milliseconds":1428,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162602_f57602f0"}
2026-04-25T16:27:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.566,"duration_milliseconds":566,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:27:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.415,"exec_milliseconds":1415,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162701_1c94bb07"}
2026-04-25T16:28:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.578,"duration_milliseconds":578,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:28:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.395,"exec_milliseconds":1395,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162802_bc93d2e3"}
2026-04-25T16:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.584,"duration_milliseconds":584,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:29:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.378,"exec_milliseconds":1378,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_162901_ea84c055"}
2026-04-25T16:30:18+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:18+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.575,"duration_milliseconds":575,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:30:19+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.403,"exec_milliseconds":1403,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163018_4563944f"}
2026-04-25T16:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:02+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.573,"duration_milliseconds":573,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:31:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.4,"exec_milliseconds":1400,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163101_327749e3"}
2026-04-25T16:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.574,"duration_milliseconds":574,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:32:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.403,"exec_milliseconds":1403,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163202_1a00b05e"}
2026-04-25T16:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:02+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.593,"duration_milliseconds":593,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:33:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.435,"exec_milliseconds":1435,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163301_bcefc990"}
2026-04-25T16:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:02+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.589,"duration_milliseconds":589,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:34:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.45,"exec_milliseconds":1450,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163402_87dc60b7"}
2026-04-25T16:35:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] Live games query successful {"count":0,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:06+02:00 [INFO] Fallback query executed {"remaining_slots":9,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004257,"result":"--:--","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004257,"duration_seconds":0.577,"duration_milliseconds":577,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":43214,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:35:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.385,"exec_milliseconds":1385,"live_games":0,"fallback_games":4,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":43214,"important":true,"run_id":"20260425_163505_67b8a0cd"}
2026-04-25T16:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.844,"duration_milliseconds":844,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.051,"duration_milliseconds":51,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103502,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:36:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.707,"exec_milliseconds":1707,"live_games":1,"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":103502,"important":true,"run_id":"20260425_163602_559bf9af"}
2026-04-25T16:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103600,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:37:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.706,"exec_milliseconds":1706,"live_games":1,"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":103600,"important":true,"run_id":"20260425_163701_0758fdce"}
2026-04-25T16:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.801,"duration_milliseconds":801,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:38:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.687,"exec_milliseconds":1687,"live_games":1,"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":103602,"important":true,"run_id":"20260425_163802_ddea6839"}
2026-04-25T16:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:39:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.677,"exec_milliseconds":1677,"live_games":1,"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":103602,"important":true,"run_id":"20260425_163901_c2dd15f7"}
2026-04-25T16:40:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.849,"duration_milliseconds":849,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:40:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.707,"exec_milliseconds":1707,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164009_4cc3b1c3"}
2026-04-25T16:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:41:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.651,"exec_milliseconds":1651,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164101_1680beb7"}
2026-04-25T16:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.804,"duration_milliseconds":804,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.035,"duration_milliseconds":35,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:42:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.66,"exec_milliseconds":1660,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164202_ed4dbce6"}
2026-04-25T16:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.82,"duration_milliseconds":820,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:43:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.636,"exec_milliseconds":1636,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164301_1aa90c8a"}
2026-04-25T16:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:44:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.7,"exec_milliseconds":1700,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164402_9a70a594"}
2026-04-25T16:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.792,"duration_milliseconds":792,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.035,"duration_milliseconds":35,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:45:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.632,"exec_milliseconds":1632,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164509_05082ae4"}
2026-04-25T16:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:46:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.69,"exec_milliseconds":1690,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164602_664aa719"}
2026-04-25T16:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.801,"duration_milliseconds":801,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:47:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.654,"exec_milliseconds":1654,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164701_cd4d0265"}
2026-04-25T16:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:48:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.722,"exec_milliseconds":1722,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164802_598f18f5"}
2026-04-25T16:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.781,"duration_milliseconds":781,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.06,"duration_milliseconds":60,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:49:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":1,"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":103602,"important":true,"run_id":"20260425_164901_4dde6650"}
2026-04-25T16:50:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:50:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.64,"exec_milliseconds":1640,"live_games":1,"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":103602,"important":true,"run_id":"20260425_165010_2f16a287"}
2026-04-25T16:51:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:51:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.684,"exec_milliseconds":1684,"live_games":1,"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":103602,"important":true,"run_id":"20260425_165101_299a8405"}
2026-04-25T16:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103602,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:52:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.734,"exec_milliseconds":1734,"live_games":1,"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":103602,"important":true,"run_id":"20260425_165202_5a954815"}
2026-04-25T16:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.846,"duration_milliseconds":846,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:53:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.719,"exec_milliseconds":1719,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165301_b43e5cd1"}
2026-04-25T16:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:54:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.708,"exec_milliseconds":1708,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165402_bae93b0a"}
2026-04-25T16:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:05+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:55:06+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.688,"exec_milliseconds":1688,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165505_06823d70"}
2026-04-25T16:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:56:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.674,"exec_milliseconds":1674,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165602_62e037ad"}
2026-04-25T16:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.806,"duration_milliseconds":806,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:57:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.613,"exec_milliseconds":1613,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165701_152adde0"}
2026-04-25T16:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.854,"duration_milliseconds":854,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:58:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.727,"exec_milliseconds":1727,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165802_a7e75265"}
2026-04-25T16:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.816,"duration_milliseconds":816,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103604,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T16:59:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.684,"exec_milliseconds":1684,"live_games":1,"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":103604,"important":true,"run_id":"20260425_165901_6f1dfa6d"}
2026-04-25T17:00:29+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:29+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.834,"duration_milliseconds":834,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:00:30+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.707,"exec_milliseconds":1707,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170029_59ea66f5"}
2026-04-25T17:01:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:01:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.708,"exec_milliseconds":1708,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170101_3a317b96"}
2026-04-25T17:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.825,"duration_milliseconds":825,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:02:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.683,"exec_milliseconds":1683,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170202_0bde4a83"}
2026-04-25T17:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.839,"duration_milliseconds":839,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:03:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.709,"exec_milliseconds":1709,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170301_633ff340"}
2026-04-25T17:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.805,"duration_milliseconds":805,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.035,"duration_milliseconds":35,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:04:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.655,"exec_milliseconds":1655,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170402_b5640adc"}
2026-04-25T17:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.803,"duration_milliseconds":803,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:05:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.633,"exec_milliseconds":1633,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170506_c4939ffb"}
2026-04-25T17:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.847,"duration_milliseconds":847,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:06:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.741,"exec_milliseconds":1741,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170602_5f303545"}
2026-04-25T17:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:07:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.684,"exec_milliseconds":1684,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170701_97a8fd99"}
2026-04-25T17:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.035,"duration_milliseconds":35,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:08:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.719,"exec_milliseconds":1719,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170802_51a101ec"}
2026-04-25T17:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.837,"duration_milliseconds":837,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:09:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.72,"exec_milliseconds":1720,"live_games":1,"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":103667,"important":true,"run_id":"20260425_170901_8a78376c"}
2026-04-25T17:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.837,"duration_milliseconds":837,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:10:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.676,"exec_milliseconds":1676,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171008_6cc2946e"}
2026-04-25T17:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.805,"duration_milliseconds":805,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:11:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.65,"exec_milliseconds":1650,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171101_f2d7185d"}
2026-04-25T17:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:12:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.692,"exec_milliseconds":1692,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171202_951872d4"}
2026-04-25T17:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.823,"duration_milliseconds":823,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:13:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.711,"exec_milliseconds":1711,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171301_c24d9e63"}
2026-04-25T17:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.785,"duration_milliseconds":785,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:14:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.674,"exec_milliseconds":1674,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171402_bb095a8b"}
2026-04-25T17:15:11+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:11+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.809,"duration_milliseconds":809,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:15:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.654,"exec_milliseconds":1654,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171511_44ccf120"}
2026-04-25T17:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.813,"duration_milliseconds":813,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:16:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.675,"exec_milliseconds":1675,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171602_20fb1ba9"}
2026-04-25T17:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.819,"duration_milliseconds":819,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:17:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.697,"exec_milliseconds":1697,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171701_823fe3b3"}
2026-04-25T17:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.815,"duration_milliseconds":815,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.067,"duration_milliseconds":67,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:18:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.701,"exec_milliseconds":1701,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171802_df975a4a"}
2026-04-25T17:19:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:19:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.702,"exec_milliseconds":1702,"live_games":1,"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":103667,"important":true,"run_id":"20260425_171901_8aaaa7fb"}
2026-04-25T17:20:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:08+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.803,"duration_milliseconds":803,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:20:09+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.689,"exec_milliseconds":1689,"live_games":1,"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":103667,"important":true,"run_id":"20260425_172008_4e0dc505"}
2026-04-25T17:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.8,"duration_milliseconds":800,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:21:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.673,"exec_milliseconds":1673,"live_games":1,"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":103667,"important":true,"run_id":"20260425_172101_fc99cb7b"}
2026-04-25T17:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.802,"duration_milliseconds":802,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:22:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.641,"exec_milliseconds":1641,"live_games":1,"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":103667,"important":true,"run_id":"20260425_172202_e452535e"}
2026-04-25T17:23:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] Live games query successful {"count":1,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":6205,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5743,"mtime":"2026-04-25T16:35:32+02:00","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.834,"duration_milliseconds":834,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback query executed {"remaining_slots":8,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004260,"result":"--:--","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004260,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":103667,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:23:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.667,"exec_milliseconds":1667,"live_games":1,"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":103667,"important":true,"run_id":"20260425_172301_99f14806"}
2026-04-25T17:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.862,"duration_milliseconds":862,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152313,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:24:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.013,"exec_milliseconds":2013,"live_games":2,"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":152313,"important":true,"run_id":"20260425_172402_cbcfe76c"}
2026-04-25T17:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.803,"duration_milliseconds":803,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.26,"duration_milliseconds":260,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152308,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:25:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.877,"exec_milliseconds":1877,"live_games":2,"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":152308,"important":true,"run_id":"20260425_172505_f0407634"}
2026-04-25T17:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.813,"duration_milliseconds":813,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:26:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.94,"exec_milliseconds":1940,"live_games":2,"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":152508,"important":true,"run_id":"20260425_172602_0fe76be6"}
2026-04-25T17:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.838,"duration_milliseconds":838,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:27:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.972,"exec_milliseconds":1972,"live_games":2,"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":152508,"important":true,"run_id":"20260425_172701_320e35bf"}
2026-04-25T17:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.817,"duration_milliseconds":817,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:28:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.956,"exec_milliseconds":1956,"live_games":2,"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":152508,"important":true,"run_id":"20260425_172802_f6018a68"}
2026-04-25T17:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:29:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.933,"exec_milliseconds":1933,"live_games":2,"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":152508,"important":true,"run_id":"20260425_172901_8e0e1ed1"}
2026-04-25T17:30:18+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.808,"duration_milliseconds":808,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:30:20+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.972,"exec_milliseconds":1972,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173018_0afdafe4"}
2026-04-25T17:31:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.83,"duration_milliseconds":830,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:31:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.966,"exec_milliseconds":1966,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173101_d724c298"}
2026-04-25T17:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:32:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.939,"exec_milliseconds":1939,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173202_40dcc4b7"}
2026-04-25T17:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:33:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.964,"exec_milliseconds":1964,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173301_f0115826"}
2026-04-25T17:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.858,"duration_milliseconds":858,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:34:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.997,"exec_milliseconds":1997,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173402_6b2e400d"}
2026-04-25T17:35:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] Live games query successful {"count":2,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.807,"duration_milliseconds":807,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.277,"duration_milliseconds":277,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Fallback query executed {"remaining_slots":7,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004258,"result":"--:--","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Fallback game timing {"spiel_id":2004258,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":152508,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:35:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":1.895,"exec_milliseconds":1895,"live_games":2,"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":152508,"important":true,"run_id":"20260425_173506_976c7601"}
2026-04-25T17:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:35:58+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:35:58+02:00","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.26,"duration_milliseconds":260,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203472,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:36:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.133,"exec_milliseconds":2133,"live_games":3,"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":203472,"important":true,"run_id":"20260425_173602_5f7e25ad"}
2026-04-25T17:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203467,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:37:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.246,"exec_milliseconds":2246,"live_games":3,"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":203467,"important":true,"run_id":"20260425_173701_322c2917"}
2026-04-25T17:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.804,"duration_milliseconds":804,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.266,"duration_milliseconds":266,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.259,"duration_milliseconds":259,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203567,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:38:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.051,"exec_milliseconds":2051,"live_games":3,"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":203567,"important":true,"run_id":"20260425_173802_5c78d601"}
2026-04-25T17:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203567,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:39:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.236,"exec_milliseconds":2236,"live_games":3,"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":203567,"important":true,"run_id":"20260425_173901_68674b58"}
2026-04-25T17:40:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:08+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:08+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:08+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:09+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203567,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:40:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.196,"exec_milliseconds":2196,"live_games":3,"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":203567,"important":true,"run_id":"20260425_174008_e19e5dce"}
2026-04-25T17:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:01+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.817,"duration_milliseconds":817,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:02+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203571,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:41:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.178,"exec_milliseconds":2178,"live_games":3,"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":203571,"important":true,"run_id":"20260425_174101_2dc299a2"}
2026-04-25T17:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203571,"run_id":"20260425_174202_55372507"}
2026-04-25T17:42:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.155,"exec_milliseconds":2155,"live_games":3,"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":203571,"important":true,"run_id":"20260425_174202_55372507"}
2026-04-25T17:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203571,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:43:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.236,"exec_milliseconds":2236,"live_games":3,"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":203571,"important":true,"run_id":"20260425_174301_3444ba4d"}
2026-04-25T17:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.798,"duration_milliseconds":798,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.252,"duration_milliseconds":252,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203571,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:44:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.064,"exec_milliseconds":2064,"live_games":3,"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":203571,"important":true,"run_id":"20260425_174402_9e81be8c"}
2026-04-25T17:45:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:10+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.814,"duration_milliseconds":814,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":6909,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6413,"mtime":"2026-04-25T17:23:46+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.259,"duration_milliseconds":259,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.036,"duration_milliseconds":36,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":203571,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:45:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.09,"exec_milliseconds":2090,"live_games":3,"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":203571,"important":true,"run_id":"20260425_174510_d5d3a996"}
2026-04-25T17:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.815,"duration_milliseconds":815,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179216,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:46:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.139,"exec_milliseconds":2139,"live_games":3,"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":179216,"important":true,"run_id":"20260425_174602_3de8daaa"}
2026-04-25T17:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179314,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:47:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.192,"exec_milliseconds":2192,"live_games":3,"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":179314,"important":true,"run_id":"20260425_174701_2af40957"}
2026-04-25T17:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.823,"duration_milliseconds":823,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179316,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:48:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.201,"exec_milliseconds":2201,"live_games":3,"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":179316,"important":true,"run_id":"20260425_174802_ca3be5d0"}
2026-04-25T17:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.266,"duration_milliseconds":266,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.256,"duration_milliseconds":256,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.037,"duration_milliseconds":37,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179316,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:49:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.137,"exec_milliseconds":2137,"live_games":3,"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":179316,"important":true,"run_id":"20260425_174901_394fdb5b"}
2026-04-25T17:50:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.05,"duration_milliseconds":50,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179316,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:50:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.142,"exec_milliseconds":2142,"live_games":3,"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":179316,"important":true,"run_id":"20260425_175009_cb35ffb9"}
2026-04-25T17:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.271,"duration_milliseconds":271,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.266,"duration_milliseconds":266,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179316,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:51:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.134,"exec_milliseconds":2134,"live_games":3,"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":179316,"important":true,"run_id":"20260425_175101_9d0cead0"}
2026-04-25T17:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179316,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:52:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.164,"exec_milliseconds":2164,"live_games":3,"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":179316,"important":true,"run_id":"20260425_175202_f179d89d"}
2026-04-25T17:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.847,"duration_milliseconds":847,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:53:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.214,"exec_milliseconds":2214,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175301_91a5ccfe"}
2026-04-25T17:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.772,"duration_milliseconds":772,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.265,"duration_milliseconds":265,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:54:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.122,"exec_milliseconds":2122,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175402_8029f080"}
2026-04-25T17:55:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.819,"duration_milliseconds":819,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:55:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.169,"exec_milliseconds":2169,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175506_e75df1d2"}
2026-04-25T17:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:56:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.23,"exec_milliseconds":2230,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175602_565af07a"}
2026-04-25T17:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.812,"duration_milliseconds":812,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:57:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.165,"exec_milliseconds":2165,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175701_14db9341"}
2026-04-25T17:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.819,"duration_milliseconds":819,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:58:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.225,"exec_milliseconds":2225,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175802_cf68b253"}
2026-04-25T17:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_175901_642b1cab"}
2026-04-25T17:59:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.159,"exec_milliseconds":2159,"live_games":3,"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":179318,"important":true,"run_id":"20260425_175901_642b1cab"}
2026-04-25T18:00:26+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.814,"duration_milliseconds":814,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:00:28+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.187,"exec_milliseconds":2187,"live_games":3,"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":179318,"important":true,"run_id":"20260425_180026_af300b05"}
2026-04-25T18:01:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:01:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.209,"exec_milliseconds":2209,"live_games":3,"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":179318,"important":true,"run_id":"20260425_180101_5652abf9"}
2026-04-25T18:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.839,"duration_milliseconds":839,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179318,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:02:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.217,"exec_milliseconds":2217,"live_games":3,"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":179318,"important":true,"run_id":"20260425_180202_ee5523e8"}
2026-04-25T18:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.805,"duration_milliseconds":805,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:03:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.08,"exec_milliseconds":2080,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180301_74224d10"}
2026-04-25T18:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.8,"duration_milliseconds":800,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.245,"duration_milliseconds":245,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:04:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.113,"exec_milliseconds":2113,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180402_6dfae95e"}
2026-04-25T18:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.844,"duration_milliseconds":844,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.078,"duration_milliseconds":78,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:05:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.224,"exec_milliseconds":2224,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180506_a8b8d2b1"}
2026-04-25T18:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.816,"duration_milliseconds":816,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:06:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.16,"exec_milliseconds":2160,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180602_69b16a09"}
2026-04-25T18:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.806,"duration_milliseconds":806,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.27,"duration_milliseconds":270,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180701_69435706"}
2026-04-25T18:07:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.134,"exec_milliseconds":2134,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180701_69435706"}
2026-04-25T18:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.806,"duration_milliseconds":806,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.27,"duration_milliseconds":270,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:08:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.137,"exec_milliseconds":2137,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180802_4a11e79c"}
2026-04-25T18:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.798,"duration_milliseconds":798,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:09:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.202,"exec_milliseconds":2202,"live_games":3,"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":179320,"important":true,"run_id":"20260425_180901_88cdec16"}
2026-04-25T18:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.798,"duration_milliseconds":798,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.266,"duration_milliseconds":266,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.038,"duration_milliseconds":38,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181009_60907924"}
2026-04-25T18:10:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.124,"exec_milliseconds":2124,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181009_60907924"}
2026-04-25T18:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.816,"duration_milliseconds":816,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:11:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.185,"exec_milliseconds":2185,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181101_f138e303"}
2026-04-25T18:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:12:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.17,"exec_milliseconds":2170,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181202_933881ed"}
2026-04-25T18:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.83,"duration_milliseconds":830,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:13:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.239,"exec_milliseconds":2239,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181301_040f78c2"}
2026-04-25T18:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.853,"duration_milliseconds":853,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:14:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.217,"exec_milliseconds":2217,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181402_cd29bf30"}
2026-04-25T18:15:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.799,"duration_milliseconds":799,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:15:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.099,"exec_milliseconds":2099,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181509_dfc59e81"}
2026-04-25T18:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.846,"duration_milliseconds":846,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:16:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.163,"exec_milliseconds":2163,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181602_c275b5d7"}
2026-04-25T18:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:17:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.165,"exec_milliseconds":2165,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181701_39b73f30"}
2026-04-25T18:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T17:23:54+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.816,"duration_milliseconds":816,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179320,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:18:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.131,"exec_milliseconds":2131,"live_games":3,"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":179320,"important":true,"run_id":"20260425_181802_f49dec50"}
2026-04-25T18:19:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.844,"duration_milliseconds":844,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.317,"duration_milliseconds":317,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.043,"duration_milliseconds":43,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179218,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:19:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.251,"exec_milliseconds":2251,"live_games":3,"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":179218,"important":true,"run_id":"20260425_181902_9e20f366"}
2026-04-25T18:20:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:09+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T17:45:29+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3739,"mtime":"2026-04-25T17:45:28+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179218,"run_id":"20260425_182008_31021337"}
2026-04-25T18:20:10+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.192,"exec_milliseconds":2192,"live_games":3,"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":179218,"important":true,"run_id":"20260425_182008_31021337"}
2026-04-25T18:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179248,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:21:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.221,"exec_milliseconds":2221,"live_games":3,"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":179248,"important":true,"run_id":"20260425_182101_678e3f42"}
2026-04-25T18:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.781,"duration_milliseconds":781,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.255,"duration_milliseconds":255,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.253,"duration_milliseconds":253,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.044,"duration_milliseconds":44,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:22:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.065,"exec_milliseconds":2065,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182202_8ae28d55"}
2026-04-25T18:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.815,"duration_milliseconds":815,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:23:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.095,"exec_milliseconds":2095,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182301_453a6c0e"}
2026-04-25T18:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.804,"duration_milliseconds":804,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.271,"duration_milliseconds":271,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:24:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.139,"exec_milliseconds":2139,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182402_44eeab17"}
2026-04-25T18:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.803,"duration_milliseconds":803,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:25:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.137,"exec_milliseconds":2137,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182505_37a3f4d0"}
2026-04-25T18:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.813,"duration_milliseconds":813,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.258,"duration_milliseconds":258,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.271,"duration_milliseconds":271,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:26:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.117,"exec_milliseconds":2117,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182602_43eb200c"}
2026-04-25T18:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.823,"duration_milliseconds":823,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.04,"duration_milliseconds":40,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:27:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.326,"exec_milliseconds":2326,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182701_7216c212"}
2026-04-25T18:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:28:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.23,"exec_milliseconds":2230,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182802_3027e036"}
2026-04-25T18:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3741,"mtime":"2026-04-25T18:18:41+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.858,"duration_milliseconds":858,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.046,"duration_milliseconds":46,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179481,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:29:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.338,"exec_milliseconds":2338,"live_games":3,"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":179481,"important":true,"run_id":"20260425_182901_6ed84960"}
2026-04-25T18:30:19+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:19+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:29:24+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3751,"mtime":"2026-04-25T18:29:24+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.817,"duration_milliseconds":817,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179613,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:30:21+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.162,"exec_milliseconds":2162,"live_games":3,"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":179613,"important":true,"run_id":"20260425_183019_007aedcc"}
2026-04-25T18:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:29:24+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":3751,"mtime":"2026-04-25T18:29:24+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":0,"rb":0,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.804,"duration_milliseconds":804,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":3749,"mtime":"2026-04-25T18:20:24+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":0,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.263,"duration_milliseconds":263,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":179711,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:31:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.112,"exec_milliseconds":2112,"live_games":3,"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":179711,"important":true,"run_id":"20260425_183101_95eae329"}
2026-04-25T18:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:31:59+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":4498,"mtime":"2026-04-25T18:31:59+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":5,"rb":0,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.863,"duration_milliseconds":863,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:31:59+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":4368,"mtime":"2026-04-25T18:31:59+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":0,"rb":1,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.047,"duration_milliseconds":47,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":185089,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:32:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.178,"exec_milliseconds":2178,"live_games":3,"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":185089,"important":true,"run_id":"20260425_183202_0e51b9eb"}
2026-04-25T18:33:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:33:02+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":4888,"mtime":"2026-04-25T18:33:02+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":5,"rb":0,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:32:43+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":4962,"mtime":"2026-04-25T18:32:42+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":3,"rb":1,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":189235,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:33:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.191,"exec_milliseconds":2191,"live_games":3,"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":189235,"important":true,"run_id":"20260425_183301_16c2f15b"}
2026-04-25T18:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4149,"mtime":"2026-04-25T18:33:56+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5334,"mtime":"2026-04-25T18:33:56+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":5,"rb":0,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.825,"duration_milliseconds":825,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:33:51+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":5620,"mtime":"2026-04-25T18:33:51+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":3,"rb":8,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.049,"duration_milliseconds":49,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":193911,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:34:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.215,"exec_milliseconds":2215,"live_games":3,"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":193911,"important":true,"run_id":"20260425_183402_e74017e1"}
2026-04-25T18:35:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:34:28+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5663,"mtime":"2026-04-25T18:34:28+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":7,"rb":0,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.863,"duration_milliseconds":863,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4219,"mtime":"2026-04-25T18:34:42+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6065,"mtime":"2026-04-25T18:34:41+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":3,"rb":8,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:08+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:08+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:08+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.039,"duration_milliseconds":39,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":197272,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:35:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.224,"exec_milliseconds":2224,"live_games":3,"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":197272,"important":true,"run_id":"20260425_183505_e0b7f83e"}
2026-04-25T18:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:35:40+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5813,"mtime":"2026-04-25T18:35:40+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":7,"rb":0,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.81,"duration_milliseconds":810,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:35:44+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6412,"mtime":"2026-04-25T18:35:44+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":3,"rb":10,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.045,"duration_milliseconds":45,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":199384,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:36:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.148,"exec_milliseconds":2148,"live_games":3,"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":199384,"important":true,"run_id":"20260425_183602_456a024b"}
2026-04-25T18:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:36:53+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6208,"mtime":"2026-04-25T18:36:53+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":7,"rb":0,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:36:56+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6486,"mtime":"2026-04-25T18:36:56+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":3,"rb":10,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.326,"duration_milliseconds":326,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.048,"duration_milliseconds":48,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":201377,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:37:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.302,"exec_milliseconds":2302,"live_games":3,"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":201377,"important":true,"run_id":"20260425_183701_72d2d70c"}
2026-04-25T18:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:37:54+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6366,"mtime":"2026-04-25T18:37:54+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":7,"rb":0,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.839,"duration_milliseconds":839,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:37:41+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6714,"mtime":"2026-04-25T18:37:41+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":6,"rb":13,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.041,"duration_milliseconds":41,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":202975,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:38:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.2,"exec_milliseconds":2200,"live_games":3,"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":202975,"important":true,"run_id":"20260425_183802_ded069cd"}
2026-04-25T18:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:39:01+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6678,"mtime":"2026-04-25T18:39:01+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":10,"rb":2,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:38:59+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7185,"mtime":"2026-04-25T18:38:59+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":13,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.324,"duration_milliseconds":324,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":206202,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:39:03+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.235,"exec_milliseconds":2235,"live_games":3,"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":206202,"important":true,"run_id":"20260425_183901_68d752e8"}
2026-04-25T18:40:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:40:03+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7358,"mtime":"2026-04-25T18:40:03+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":13,"rb":2,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.808,"duration_milliseconds":808,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:40:08+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7521,"mtime":"2026-04-25T18:40:08+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":14,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:12+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:12+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:12+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.042,"duration_milliseconds":42,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":210524,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:40:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.224,"exec_milliseconds":2224,"live_games":3,"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":210524,"important":true,"run_id":"20260425_184009_47db68b3"}
2026-04-25T18:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] Live games query successful {"count":3,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:40:35+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7927,"mtime":"2026-04-25T18:40:34+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":15,"rb":2,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.852,"duration_milliseconds":852,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:40:49+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7781,"mtime":"2026-04-25T18:40:49+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":15,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:04+02:00 [INFO] Fallback query executed {"remaining_slots":6,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:04+02:00 [INFO] Fallback row rendered {"spiel_id":2004259,"result":"--:--","run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:04+02:00 [INFO] Fallback game timing {"spiel_id":2004259,"duration_seconds":0.052,"duration_milliseconds":52,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":214061,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:41:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.262,"exec_milliseconds":2262,"live_games":3,"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":214061,"important":true,"run_id":"20260425_184101_703945e0"}
2026-04-25T18:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:41:46+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8579,"mtime":"2026-04-25T18:41:46+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":15,"rb":3,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.848,"duration_milliseconds":848,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:42:02+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8480,"mtime":"2026-04-25T18:42:02+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":15,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:41:50+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:41:50+02:00","run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":277179,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:42:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.482,"exec_milliseconds":2482,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":277179,"important":true,"run_id":"20260425_184202_6abc43e8"}
2026-04-25T18:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:43:01+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9705,"mtime":"2026-04-25T18:43:02+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":15,"rb":4,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:42:52+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9215,"mtime":"2026-04-25T18:42:52+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":17,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:41:50+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:41:50+02:00","run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":285070,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:43:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.469,"exec_milliseconds":2469,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":285070,"important":true,"run_id":"20260425_184301_a1e9228f"}
2026-04-25T18:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:43:50+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10019,"mtime":"2026-04-25T18:43:49+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":18,"rb":7,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.823,"duration_milliseconds":823,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9639,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":11,"rb":18,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":288142,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:44:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.481,"exec_milliseconds":2481,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":288142,"important":true,"run_id":"20260425_184402_54de500a"}
2026-04-25T18:45:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:45:08+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10536,"mtime":"2026-04-25T18:45:08+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":7,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.848,"duration_milliseconds":848,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:44:56+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10173,"mtime":"2026-04-25T18:44:55+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":13,"rb":20,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.277,"duration_milliseconds":277,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":292593,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:45:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.435,"exec_milliseconds":2435,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":292593,"important":true,"run_id":"20260425_184510_0fe81d85"}
2026-04-25T18:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:46:01+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10920,"mtime":"2026-04-25T18:46:01+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":7,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:46:03+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10723,"mtime":"2026-04-25T18:46:03+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":13,"rb":20,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":296675,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:46:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.392,"exec_milliseconds":2392,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":296675,"important":true,"run_id":"20260425_184602_f792a12c"}
2026-04-25T18:47:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:46:51+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11369,"mtime":"2026-04-25T18:46:51+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":7,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:46:59+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11070,"mtime":"2026-04-25T18:46:59+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":15,"rb":20,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":300081,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:47:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.416,"exec_milliseconds":2416,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":300081,"important":true,"run_id":"20260425_184702_e1441dbf"}
2026-04-25T18:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:47:58+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11740,"mtime":"2026-04-25T18:47:58+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":9,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.792,"duration_milliseconds":792,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:47:59+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11709,"mtime":"2026-04-25T18:47:58+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":23,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.258,"duration_milliseconds":258,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":5877,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5478,"mtime":"2026-04-25T18:44:02+02:00","run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.249,"duration_milliseconds":249,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":304339,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:48:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.272,"exec_milliseconds":2272,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":304339,"important":true,"run_id":"20260425_184802_fd7da605"}
2026-04-25T18:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:48:55+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11890,"mtime":"2026-04-25T18:48:55+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":9,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:48:55+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12152,"mtime":"2026-04-25T18:48:54+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":25,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":295903,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:49:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.448,"exec_milliseconds":2448,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":295903,"important":true,"run_id":"20260425_184901_2ebaf6fc"}
2026-04-25T18:50:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:49:50+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12256,"mtime":"2026-04-25T18:49:50+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":20,"rb":11,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.837,"duration_milliseconds":837,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:49:51+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12560,"mtime":"2026-04-25T18:49:51+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":26,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":299209,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:50:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.417,"exec_milliseconds":2417,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":299209,"important":true,"run_id":"20260425_185009_6ed356e3"}
2026-04-25T18:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:50:45+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12781,"mtime":"2026-04-25T18:50:45+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":25,"rb":13,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.809,"duration_milliseconds":809,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:50:57+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12646,"mtime":"2026-04-25T18:50:57+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":26,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":301796,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:51:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.448,"exec_milliseconds":2448,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":301796,"important":true,"run_id":"20260425_185101_bed2a811"}
2026-04-25T18:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:51:29+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13045,"mtime":"2026-04-25T18:51:28+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":25,"rb":15,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.816,"duration_milliseconds":816,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:51:55+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":4855,"mtime":"2026-04-25T18:51:55+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":26,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269433,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:52:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.446,"exec_milliseconds":2446,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269433,"important":true,"run_id":"20260425_185202_696dc046"}
2026-04-25T18:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:52:55+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13639,"mtime":"2026-04-25T18:52:55+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":27,"rb":15,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.815,"duration_milliseconds":815,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:52:59+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":5274,"mtime":"2026-04-25T18:52:59+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":19,"rb":28,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":273694,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:53:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.423,"exec_milliseconds":2423,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":273694,"important":true,"run_id":"20260425_185301_623588f4"}
2026-04-25T18:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:53:54+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14126,"mtime":"2026-04-25T18:53:54+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":28,"rb":15,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:53:59+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":5840,"mtime":"2026-04-25T18:53:59+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":21,"rb":28,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":278201,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:54:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.425,"exec_milliseconds":2425,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":278201,"important":true,"run_id":"20260425_185402_8f30216f"}
2026-04-25T18:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:05+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:55:05+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14569,"mtime":"2026-04-25T18:55:04+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":17,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.792,"duration_milliseconds":792,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:55:06+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6424,"mtime":"2026-04-25T18:55:05+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":23,"rb":28,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.253,"duration_milliseconds":253,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.264,"duration_milliseconds":264,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":282550,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:55:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.301,"exec_milliseconds":2301,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":282550,"important":true,"run_id":"20260425_185505_6f0c26f5"}
2026-04-25T18:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:55:05+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14569,"mtime":"2026-04-25T18:55:04+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":17,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.839,"duration_milliseconds":839,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:55:35+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6976,"mtime":"2026-04-25T18:55:35+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":23,"rb":28,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":284888,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:56:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.439,"exec_milliseconds":2439,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":284888,"important":true,"run_id":"20260425_185602_00cdb35a"}
2026-04-25T18:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:55:05+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14569,"mtime":"2026-04-25T18:55:04+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":17,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:57:01+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7520,"mtime":"2026-04-25T18:57:01+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":26,"rb":30,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":287256,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:57:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.493,"exec_milliseconds":2493,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":287256,"important":true,"run_id":"20260425_185701_203d5f24"}
2026-04-25T18:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:58:01+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14820,"mtime":"2026-04-25T18:58:03+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":18,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.845,"duration_milliseconds":845,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:57:08+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7595,"mtime":"2026-04-25T18:57:08+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":26,"rb":30,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":288564,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:58:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.469,"exec_milliseconds":2469,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":288564,"important":true,"run_id":"20260425_185802_b366d7b5"}
2026-04-25T18:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T18:58:48+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14969,"mtime":"2026-04-25T18:58:48+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":18,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.853,"duration_milliseconds":853,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4220,"mtime":"2026-04-25T18:58:52+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7894,"mtime":"2026-04-25T18:58:52+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":26,"rb":30,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":290512,"run_id":"20260425_185901_148311b1"}
2026-04-25T18:59:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.513,"exec_milliseconds":2513,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":290512,"important":true,"run_id":"20260425_185901_148311b1"}
2026-04-25T19:00:28+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:28+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:00:07+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15150,"mtime":"2026-04-25T19:00:07+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":20,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.85,"duration_milliseconds":850,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:00:15+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8744,"mtime":"2026-04-25T19:00:15+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":26,"rb":30,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:29+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":5236,"mtime":"2026-04-25T17:36:17+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4811,"mtime":"2026-04-25T17:36:16+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":294920,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:00:30+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.516,"exec_milliseconds":2516,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":294920,"important":true,"run_id":"20260425_190028_3028fc9a"}
2026-04-25T19:01:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:00:07+02:00","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15150,"mtime":"2026-04-25T19:00:07+02:00","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":20,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190101_eae418a6"}
2026-04-25T19:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:00:15+02:00","run_id":"20260425_190101_eae418a6"}
2026-04-25T19:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:01:51+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15161,"mtime":"2026-04-25T19:01:51+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":20,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.871,"duration_milliseconds":871,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:02:01+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8816,"mtime":"2026-04-25T19:02:01+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":26,"rb":30,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":287903,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:02:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.553,"exec_milliseconds":2553,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":287903,"important":true,"run_id":"20260425_190202_509898e3"}
2026-04-25T19:03:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:03:02+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5259,"mtime":"2026-04-25T19:03:02+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":20,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.846,"duration_milliseconds":846,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:02:57+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9231,"mtime":"2026-04-25T19:02:56+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":27,"rb":30,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":247164,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:03:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.503,"exec_milliseconds":2503,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":247164,"important":true,"run_id":"20260425_190301_b73f7531"}
2026-04-25T19:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:04:02+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6031,"mtime":"2026-04-25T19:04:01+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":29,"rb":20,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:03:50+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9623,"mtime":"2026-04-25T19:03:50+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":30,"rb":33,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":252084,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:04:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.43,"exec_milliseconds":2430,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":252084,"important":true,"run_id":"20260425_190402_11e2419e"}
2026-04-25T19:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:04:57+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6574,"mtime":"2026-04-25T19:04:55+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:05:01+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10028,"mtime":"2026-04-25T19:05:01+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":30,"rb":34,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.316,"duration_milliseconds":316,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.377,"duration_milliseconds":377,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":256096,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:05:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.542,"exec_milliseconds":2542,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":256096,"important":true,"run_id":"20260425_190506_152253b3"}
2026-04-25T19:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:05:57+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6961,"mtime":"2026-04-25T19:05:57+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:06:00+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10105,"mtime":"2026-04-25T19:06:00+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":30,"rb":34,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":258082,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:06:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.435,"exec_milliseconds":2435,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":258082,"important":true,"run_id":"20260425_190602_f8f2774d"}
2026-04-25T19:07:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:06:38+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7335,"mtime":"2026-04-25T19:06:38+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.915,"duration_milliseconds":915,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:06:54+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10562,"mtime":"2026-04-25T19:06:54+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":30,"rb":34,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":261667,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:07:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.52,"exec_milliseconds":2520,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":261667,"important":true,"run_id":"20260425_190701_c074cef2"}
2026-04-25T19:08:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:08:01+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7560,"mtime":"2026-04-25T19:08:01+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:07:58+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11168,"mtime":"2026-04-25T19:07:58+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":30,"rb":34,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4676,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4272,"mtime":"2026-04-25T18:48:48+02:00","run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":265256,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:08:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.431,"exec_milliseconds":2431,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":265256,"important":true,"run_id":"20260425_190802_fd21ddc7"}
2026-04-25T19:09:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:08:57+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7883,"mtime":"2026-04-25T19:08:57+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.859,"duration_milliseconds":859,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:08:49+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11582,"mtime":"2026-04-25T19:09:03+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":33,"rb":34,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4428,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4008,"mtime":"2026-04-25T19:00:35+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.267,"duration_milliseconds":267,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3739,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":263378,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:09:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.439,"exec_milliseconds":2439,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":263378,"important":true,"run_id":"20260425_190901_43dac2d8"}
2026-04-25T19:10:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:09+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:09:50+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8288,"mtime":"2026-04-25T19:09:50+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":22,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.848,"duration_milliseconds":848,"important":true,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:09:48+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11802,"mtime":"2026-04-25T19:09:48+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":33,"rb":34,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_191008_31b7ad06"}
2026-04-25T19:11:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:11:00+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8803,"mtime":"2026-04-25T19:11:00+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":32,"rb":25,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:10:54+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12641,"mtime":"2026-04-25T19:10:53+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":33,"rb":34,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3739,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269426,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:11:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.477,"exec_milliseconds":2477,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269426,"important":true,"run_id":"20260425_191101_1f2f1cdc"}
2026-04-25T19:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:11:35+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8984,"mtime":"2026-04-25T19:11:35+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":33,"rb":25,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:11:51+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13090,"mtime":"2026-04-25T19:11:51+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":33,"rb":34,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_191202_e3ec5011"}
2026-04-25T19:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:01+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:12:51+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9896,"mtime":"2026-04-25T19:12:51+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":33,"rb":25,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:12:43+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13400,"mtime":"2026-04-25T19:12:43+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":33,"rb":34,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.268,"duration_milliseconds":268,"important":true,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.251,"duration_milliseconds":251,"important":true,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191301_d0e40243"}
2026-04-25T19:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:08:52+02:00","run_id":"20260425_191301_d0e40243"}
2026-04-25T19:14:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:13:50+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10506,"mtime":"2026-04-25T19:13:50+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":25,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:13:55+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13998,"mtime":"2026-04-25T19:13:55+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":35,"rb":34,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:14:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191403_ced7a8aa"}
2026-04-25T19:15:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:13:50+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10506,"mtime":"2026-04-25T19:13:50+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":25,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.811,"duration_milliseconds":811,"important":true,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:15:04+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14815,"mtime":"2026-04-25T19:15:04+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":35,"rb":34,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.26,"duration_milliseconds":260,"important":true,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191510_cb6a275e"}
2026-04-25T19:16:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4150,"mtime":"2026-04-25T19:16:00+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10796,"mtime":"2026-04-25T19:16:00+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":25,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.853,"duration_milliseconds":853,"important":true,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:15:49+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":15105,"mtime":"2026-04-25T19:15:49+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":35,"rb":36,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191602_82ec2542"}
2026-04-25T19:16:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191602_82ec2542"}
2026-04-25T19:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:16:50+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11136,"mtime":"2026-04-25T19:16:50+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":27,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.827,"duration_milliseconds":827,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:16:53+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":15689,"mtime":"2026-04-25T19:16:53+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":37,"rb":36,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":292512,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:17:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.409,"exec_milliseconds":2409,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":292512,"important":true,"run_id":"20260425_191701_84162e69"}
2026-04-25T19:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:17:45+02:00","run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191802_a5c81766"}
2026-04-25T19:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11136,"mtime":"2026-04-25T19:17:44+02:00","run_id":"20260425_191802_a5c81766"}
2026-04-25T19:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:18:58+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11515,"mtime":"2026-04-25T19:18:57+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":27,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:18:54+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":16586,"mtime":"2026-04-25T19:18:54+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":39,"rb":37,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_191901_62dbf43d"}
2026-04-25T19:20:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:20:06+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12114,"mtime":"2026-04-25T19:20:06+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":29,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:20:03+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":16770,"mtime":"2026-04-25T19:20:03+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":40,"rb":37,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.343,"duration_milliseconds":343,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":301265,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:20:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.458,"exec_milliseconds":2458,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":301265,"important":true,"run_id":"20260425_192010_94f8a596"}
2026-04-25T19:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:21:02+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12415,"mtime":"2026-04-25T19:21:02+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":37,"rb":29,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:20:42+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":16845,"mtime":"2026-04-25T19:20:41+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":40,"rb":37,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":302895,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:21:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.485,"exec_milliseconds":2485,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":302895,"important":true,"run_id":"20260425_192101_1499a918"}
2026-04-25T19:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:21:46+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12672,"mtime":"2026-04-25T19:21:45+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":38,"rb":29,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:21:59+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":17331,"mtime":"2026-04-25T19:21:59+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":40,"rb":38,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.271,"duration_milliseconds":271,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":306076,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:22:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.392,"exec_milliseconds":2392,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":306076,"important":true,"run_id":"20260425_192202_9714266f"}
2026-04-25T19:23:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:22:56+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13258,"mtime":"2026-04-25T19:22:56+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":38,"rb":32,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.837,"duration_milliseconds":837,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:22:29+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":17511,"mtime":"2026-04-25T19:22:28+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":40,"rb":39,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":309316,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:23:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.427,"exec_milliseconds":2427,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":309316,"important":true,"run_id":"20260425_192301_93fb540a"}
2026-04-25T19:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:23:37+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13699,"mtime":"2026-04-25T19:23:37+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":40,"rb":32,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.83,"duration_milliseconds":830,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:23:41+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":17736,"mtime":"2026-04-25T19:23:39+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":40,"rb":39,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":312170,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:24:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.408,"exec_milliseconds":2408,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":312170,"important":true,"run_id":"20260425_192402_2d79882a"}
2026-04-25T19:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:24:47+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14234,"mtime":"2026-04-25T19:24:47+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":40,"rb":32,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.84,"duration_milliseconds":840,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:05+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18215,"mtime":"2026-04-25T19:25:05+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":316536,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:25:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.43,"exec_milliseconds":2430,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":316536,"important":true,"run_id":"20260425_192505_cf24467e"}
2026-04-25T19:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:25:58+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14309,"mtime":"2026-04-25T19:25:58+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":40,"rb":32,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.857,"duration_milliseconds":857,"important":true,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192602_74f64e00"}
2026-04-25T19:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192602_74f64e00"}
2026-04-25T19:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:26:54+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14923,"mtime":"2026-04-25T19:26:53+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":40,"rb":32,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.868,"duration_milliseconds":868,"important":true,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.315,"duration_milliseconds":315,"important":true,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192701_e1cef6fa"}
2026-04-25T19:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:27:39+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15476,"mtime":"2026-04-25T19:27:39+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.855,"duration_milliseconds":855,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":323177,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:28:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.482,"exec_milliseconds":2482,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":323177,"important":true,"run_id":"20260425_192802_8e8c1b27"}
2026-04-25T19:29:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4151,"mtime":"2026-04-25T19:27:39+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15476,"mtime":"2026-04-25T19:27:39+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":323177,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:29:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.472,"exec_milliseconds":2472,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":323177,"important":true,"run_id":"20260425_192901_a649492b"}
2026-04-25T19:30:19+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.849,"duration_milliseconds":849,"important":true,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193019_05d2e819"}
2026-04-25T19:30:21+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193019_05d2e819"}
2026-04-25T19:31:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.815,"duration_milliseconds":815,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:09:05+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.277,"duration_milliseconds":277,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280698,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:31:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.405,"exec_milliseconds":2405,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280698,"important":true,"run_id":"20260425_193101_defe9bf1"}
2026-04-25T19:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280696,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:32:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.412,"exec_milliseconds":2412,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280696,"important":true,"run_id":"20260425_193202_492babaa"}
2026-04-25T19:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.85,"duration_milliseconds":850,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.343,"duration_milliseconds":343,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280794,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:33:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.539,"exec_milliseconds":2539,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280794,"important":true,"run_id":"20260425_193301_e9e43ee5"}
2026-04-25T19:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280796,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:34:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.44,"exec_milliseconds":2440,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280796,"important":true,"run_id":"20260425_193402_c5aa8e31"}
2026-04-25T19:35:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.785,"duration_milliseconds":785,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:07+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:08+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280796,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:35:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.347,"exec_milliseconds":2347,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280796,"important":true,"run_id":"20260425_193505_81c28326"}
2026-04-25T19:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280796,"run_id":"20260425_193602_50839316"}
2026-04-25T19:36:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.434,"exec_milliseconds":2434,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280796,"important":true,"run_id":"20260425_193602_50839316"}
2026-04-25T19:37:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193701_79617c3d"}
2026-04-25T19:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193701_79617c3d"}
2026-04-25T19:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.843,"duration_milliseconds":843,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18508,"mtime":"2026-04-25T19:25:51+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":280796,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:38:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.447,"exec_milliseconds":2447,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":280796,"important":true,"run_id":"20260425_193802_2280885b"}
2026-04-25T19:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:38:35+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18519,"mtime":"2026-04-25T19:38:35+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_193901_dd40bf22"}
2026-04-25T19:40:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.82,"duration_milliseconds":820,"important":true,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:40:03+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":18523,"mtime":"2026-04-25T19:40:03+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194009_cfea503a"}
2026-04-25T19:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_194009_cfea503a"}
2026-04-25T19:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.85,"duration_milliseconds":850,"important":true,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:40:58+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":5914,"mtime":"2026-04-25T19:41:02+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":39,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194101_deb93909"}
2026-04-25T19:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_194101_deb93909"}
2026-04-25T19:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.83,"duration_milliseconds":830,"important":true,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:41:53+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6317,"mtime":"2026-04-25T19:41:53+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":40,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.259,"duration_milliseconds":259,"important":true,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_194202_a347d4e6"}
2026-04-25T19:43:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5623,"mtime":"2026-04-25T19:30:11+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.824,"duration_milliseconds":824,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:42:59+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6974,"mtime":"2026-04-25T19:42:59+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":42,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:13:17+02:00","run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":230889,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:43:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.418,"exec_milliseconds":2418,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":230889,"important":true,"run_id":"20260425_194301_821ada12"}
2026-04-25T19:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4152,"mtime":"2026-04-25T19:44:03+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":5622,"mtime":"2026-04-25T19:44:03+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":42,"rb":32,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.771,"duration_milliseconds":771,"important":true,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:43:42+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7565,"mtime":"2026-04-25T19:43:41+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":41,"rb":42,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.249,"duration_milliseconds":249,"important":true,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194402_7d911232"}
2026-04-25T19:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194402_7d911232"}
2026-04-25T19:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4153,"mtime":"2026-04-25T19:45:02+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6409,"mtime":"2026-04-25T19:45:00+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":44,"rb":32,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.862,"duration_milliseconds":862,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:44:52+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7979,"mtime":"2026-04-25T19:44:52+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":43,"rb":42,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3741,"mtime":"2026-04-25T19:31:25+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":238554,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:45:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.551,"exec_milliseconds":2551,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":238554,"important":true,"run_id":"20260425_194509_f10c8759"}
2026-04-25T19:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4153,"mtime":"2026-04-25T19:46:03+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6790,"mtime":"2026-04-25T19:46:02+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":47,"rb":32,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.84,"duration_milliseconds":840,"important":true,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:46:03+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8459,"mtime":"2026-04-25T19:46:03+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":43,"rb":45,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194602_b97ffc70"}
2026-04-25T19:47:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4153,"mtime":"2026-04-25T19:47:02+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7179,"mtime":"2026-04-25T19:47:02+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":47,"rb":32,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.825,"duration_milliseconds":825,"important":true,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:46:41+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9055,"mtime":"2026-04-25T19:46:41+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":43,"rb":45,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.255,"duration_milliseconds":255,"important":true,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194701_9a2cc562"}
2026-04-25T19:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:48:01+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7748,"mtime":"2026-04-25T19:48:01+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":47,"rb":34,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:47:38+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9500,"mtime":"2026-04-25T19:47:36+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":43,"rb":45,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.27,"duration_milliseconds":270,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":250936,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:48:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.476,"exec_milliseconds":2476,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":250936,"important":true,"run_id":"20260425_194802_aef15123"}
2026-04-25T19:49:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:48:57+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8230,"mtime":"2026-04-25T19:48:58+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":49,"rb":36,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.834,"duration_milliseconds":834,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:48:43+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10157,"mtime":"2026-04-25T19:48:43+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":45,"rb":45,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.313,"duration_milliseconds":313,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":255745,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:49:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.406,"exec_milliseconds":2406,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":255745,"important":true,"run_id":"20260425_194901_9aa8a48d"}
2026-04-25T19:50:08+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:50:09+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9139,"mtime":"2026-04-25T19:50:08+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":38,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.914,"duration_milliseconds":914,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:50:02+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10908,"mtime":"2026-04-25T19:50:01+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":45,"rb":45,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.329,"duration_milliseconds":329,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":262867,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:50:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.638,"exec_milliseconds":2638,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":262867,"important":true,"run_id":"20260425_195008_41aa864b"}
2026-04-25T19:51:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:50:58+02:00","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9442,"mtime":"2026-04-25T19:50:58+02:00","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":38,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:51:00+02:00","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195101_b09518a0"}
2026-04-25T19:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11129,"mtime":"2026-04-25T19:50:59+02:00","run_id":"20260425_195101_b09518a0"}
2026-04-25T19:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:52:03+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9884,"mtime":"2026-04-25T19:52:03+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":38,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.875,"duration_milliseconds":875,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:51:54+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11578,"mtime":"2026-04-25T19:51:54+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":45,"rb":45,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.32,"duration_milliseconds":320,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":269020,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:52:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.572,"exec_milliseconds":2572,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":269020,"important":true,"run_id":"20260425_195202_dbee6dbb"}
2026-04-25T19:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:52:58+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10843,"mtime":"2026-04-25T19:52:56+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":41,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.809,"duration_milliseconds":809,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:52:53+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11990,"mtime":"2026-04-25T19:52:52+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":47,"rb":45,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.27,"duration_milliseconds":270,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.263,"duration_milliseconds":263,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":274869,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:53:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.351,"exec_milliseconds":2351,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":274869,"important":true,"run_id":"20260425_195301_c5ac24a7"}
2026-04-25T19:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:54:02+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11149,"mtime":"2026-04-25T19:54:02+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":41,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:54:03+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12372,"mtime":"2026-04-25T19:54:03+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":47,"rb":45,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195402_d8057f66"}
2026-04-25T19:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195402_d8057f66"}
2026-04-25T19:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:54:19+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11295,"mtime":"2026-04-25T19:54:18+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":41,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.807,"duration_milliseconds":807,"important":true,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:54:48+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12897,"mtime":"2026-04-25T19:54:49+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":47,"rb":45,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195505_1af63280"}
2026-04-25T19:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195505_1af63280"}
2026-04-25T19:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:54:19+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11295,"mtime":"2026-04-25T19:54:18+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":41,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.829,"duration_milliseconds":829,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:55:59+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13370,"mtime":"2026-04-25T19:55:59+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":47,"rb":46,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":282891,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:56:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.441,"exec_milliseconds":2441,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":282891,"important":true,"run_id":"20260425_195602_5281b1c6"}
2026-04-25T19:57:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:56:42+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11491,"mtime":"2026-04-25T19:56:41+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":44,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:56:57+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13729,"mtime":"2026-04-25T19:56:57+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":49,"rb":46,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.274,"duration_milliseconds":274,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":285140,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:57:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.448,"exec_milliseconds":2448,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":285140,"important":true,"run_id":"20260425_195701_db9dfa4d"}
2026-04-25T19:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:57:26+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11870,"mtime":"2026-04-25T19:57:26+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":51,"rb":44,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.805,"duration_milliseconds":805,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:57:54+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13804,"mtime":"2026-04-25T19:57:53+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":49,"rb":46,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.258,"duration_milliseconds":258,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.259,"duration_milliseconds":259,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":287098,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:58:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.359,"exec_milliseconds":2359,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":287098,"important":true,"run_id":"20260425_195802_e483aa90"}
2026-04-25T19:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:01+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:01+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:01+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T19:59:00+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12570,"mtime":"2026-04-25T19:59:00+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":54,"rb":46,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T19:58:57+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14072,"mtime":"2026-04-25T19:58:56+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":52,"rb":46,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":291154,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T19:59:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.523,"exec_milliseconds":2523,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":291154,"important":true,"run_id":"20260425_195901_aa7a59d0"}
2026-04-25T20:00:26+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:26+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:00:12+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13519,"mtime":"2026-04-25T20:00:11+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":57,"rb":46,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.826,"duration_milliseconds":826,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T20:00:25+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14817,"mtime":"2026-04-25T20:00:25+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":54,"rb":47,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":3751,"mtime":"2026-04-25T19:45:56+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":3749,"mtime":"2026-04-25T19:43:45+02:00","run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":0,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":298410,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:00:28+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.472,"exec_milliseconds":2472,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":298410,"important":true,"run_id":"20260425_200025_466e3c9f"}
2026-04-25T20:01:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:00:42+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13856,"mtime":"2026-04-25T20:00:42+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":59,"rb":46,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.854,"duration_milliseconds":854,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T20:00:53+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14931,"mtime":"2026-04-25T20:00:52+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":56,"rb":47,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:01:02+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4016,"mtime":"2026-04-25T20:01:02+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":0,"rb":0,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:00:51+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4064,"mtime":"2026-04-25T20:00:51+02:00","run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":0,"rb":2,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":302401,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:01:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.487,"exec_milliseconds":2487,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":302401,"important":true,"run_id":"20260425_200102_c5a8de17"}
2026-04-25T20:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:01:33+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14233,"mtime":"2026-04-25T20:01:33+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":59,"rb":46,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T20:01:54+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":15151,"mtime":"2026-04-25T20:01:54+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":56,"rb":47,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:01:50+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":4639,"mtime":"2026-04-25T20:01:50+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":3,"rb":0,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:02:04+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4421,"mtime":"2026-04-25T20:02:03+02:00","run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":3,"rb":2,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":309086,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:02:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.468,"exec_milliseconds":2468,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":309086,"important":true,"run_id":"20260425_200202_2912a1ab"}
2026-04-25T20:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:02:42+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14592,"mtime":"2026-04-25T20:02:42+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":59,"rb":48,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4221,"mtime":"2026-04-25T20:02:34+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":15437,"mtime":"2026-04-25T20:02:34+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":56,"rb":47,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:03:01+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":5499,"mtime":"2026-04-25T20:03:01+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":8,"rb":0,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:02:45+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4699,"mtime":"2026-04-25T20:02:45+02:00","run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":5,"rb":2,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:03+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":316645,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:03:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.451,"exec_milliseconds":2451,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":316645,"important":true,"run_id":"20260425_200301_d7c411ce"}
2026-04-25T20:04:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14923,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":61,"rb":51,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.819,"duration_milliseconds":819,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":15448,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":56,"rb":47,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:04:01+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6139,"mtime":"2026-04-25T20:04:01+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":8,"rb":4,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4973,"mtime":"2026-04-25T20:03:38+02:00","run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":5,"rb":5,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":321899,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:04:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.422,"exec_milliseconds":2422,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":321899,"important":true,"run_id":"20260425_200402_0c2e3683"}
2026-04-25T20:05:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:04:15+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15138,"mtime":"2026-04-25T20:04:15+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":61,"rb":51,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.845,"duration_milliseconds":845,"important":true,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:04:39+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6116,"mtime":"2026-04-25T20:04:38+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":56,"rb":47,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:05:06+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6820,"mtime":"2026-04-25T20:05:06+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":11,"rb":5,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200505_806ae50a"}
2026-04-25T20:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:05:07+02:00","run_id":"20260425_200505_806ae50a"}
2026-04-25T20:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:05:52+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15149,"mtime":"2026-04-25T20:05:52+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":61,"rb":51,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:06:02+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6595,"mtime":"2026-04-25T20:06:01+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":58,"rb":49,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.266,"duration_milliseconds":266,"important":true,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:05:59+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7207,"mtime":"2026-04-25T20:05:59+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":11,"rb":10,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.264,"duration_milliseconds":264,"important":true,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200602_5cb51578"}
2026-04-25T20:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:06:02+02:00","run_id":"20260425_200602_5cb51578"}
2026-04-25T20:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:06:57+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6435,"mtime":"2026-04-25T20:06:57+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":61,"rb":51,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.813,"duration_milliseconds":813,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:06:48+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":6745,"mtime":"2026-04-25T20:06:48+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":58,"rb":49,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:06:52+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7744,"mtime":"2026-04-25T20:06:52+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":14,"rb":13,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4136,"mtime":"2026-04-25T20:07:03+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6644,"mtime":"2026-04-25T20:07:03+02:00","run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":9,"rb":5,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":261638,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:07:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.452,"exec_milliseconds":2452,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":261638,"important":true,"run_id":"20260425_200701_0b578fa7"}
2026-04-25T20:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:07:48+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":6883,"mtime":"2026-04-25T20:07:47+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":63,"rb":51,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.796,"duration_milliseconds":796,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:07:53+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7158,"mtime":"2026-04-25T20:07:53+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":58,"rb":51,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.272,"duration_milliseconds":272,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:07:55+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8095,"mtime":"2026-04-25T20:07:45+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":16,"rb":13,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.283,"duration_milliseconds":283,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:07:36+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6840,"mtime":"2026-04-25T20:07:36+02:00","run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":11,"rb":5,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":267573,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:08:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.341,"exec_milliseconds":2341,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":267573,"important":true,"run_id":"20260425_200802_a3eb564c"}
2026-04-25T20:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:08:56+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7301,"mtime":"2026-04-25T20:08:54+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":65,"rb":51,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.86,"duration_milliseconds":860,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:08:51+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":7841,"mtime":"2026-04-25T20:08:51+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":58,"rb":51,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:08:41+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8700,"mtime":"2026-04-25T20:08:41+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":16,"rb":13,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:08:44+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6916,"mtime":"2026-04-25T20:08:44+02:00","run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":11,"rb":5,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.336,"duration_milliseconds":336,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":275231,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:09:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.585,"exec_milliseconds":2585,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":275231,"important":true,"run_id":"20260425_200901_5d9d0d9e"}
2026-04-25T20:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:10:02+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":7792,"mtime":"2026-04-25T20:10:02+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":65,"rb":53,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.848,"duration_milliseconds":848,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:09:25+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8180,"mtime":"2026-04-25T20:09:25+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":61,"rb":51,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.279,"duration_milliseconds":279,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:10:04+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9033,"mtime":"2026-04-25T20:10:04+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":17,"rb":13,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:10:08+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7379,"mtime":"2026-04-25T20:10:08+02:00","run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":11,"rb":5,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.313,"duration_milliseconds":313,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":282175,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:10:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.468,"exec_milliseconds":2468,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":282175,"important":true,"run_id":"20260425_201009_afaf41f5"}
2026-04-25T20:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:10:52+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8388,"mtime":"2026-04-25T20:10:52+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":65,"rb":58,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.895,"duration_milliseconds":895,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:10:45+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8256,"mtime":"2026-04-25T20:10:44+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":61,"rb":51,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:10:58+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9184,"mtime":"2026-04-25T20:10:58+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":17,"rb":13,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:10:59+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7639,"mtime":"2026-04-25T20:10:59+02:00","run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":12,"rb":5,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":286802,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:11:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.547,"exec_milliseconds":2547,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":286802,"important":true,"run_id":"20260425_201101_4afe81bc"}
2026-04-25T20:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:10:52+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8388,"mtime":"2026-04-25T20:10:52+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":65,"rb":58,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.901,"duration_milliseconds":901,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:12:00+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":8839,"mtime":"2026-04-25T20:12:00+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":63,"rb":51,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:11:56+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9818,"mtime":"2026-04-25T20:11:55+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":20,"rb":13,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:11:54+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":8204,"mtime":"2026-04-25T20:11:54+02:00","run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":15,"rb":5,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":294410,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:12:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.577,"exec_milliseconds":2577,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":294410,"important":true,"run_id":"20260425_201202_dee026e0"}
2026-04-25T20:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:13:01+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":8878,"mtime":"2026-04-25T20:13:01+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":68,"rb":58,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.854,"duration_milliseconds":854,"important":true,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:13:02+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9370,"mtime":"2026-04-25T20:13:01+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":54,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:12:51+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10215,"mtime":"2026-04-25T20:12:51+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":20,"rb":18,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201301_349e6564"}
2026-04-25T20:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:12:50+02:00","run_id":"20260425_201301_349e6564"}
2026-04-25T20:14:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:13:49+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9221,"mtime":"2026-04-25T20:13:49+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":70,"rb":58,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.835,"duration_milliseconds":835,"important":true,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:14:01+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":9861,"mtime":"2026-04-25T20:14:04+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":56,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.316,"duration_milliseconds":316,"important":true,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:13:56+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10437,"mtime":"2026-04-25T20:13:56+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":20,"rb":18,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201402_94112235"}
2026-04-25T20:14:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201402_94112235"}
2026-04-25T20:14:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:13:55+02:00","run_id":"20260425_201402_94112235"}
2026-04-25T20:15:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:15:07+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":9364,"mtime":"2026-04-25T20:15:07+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":70,"rb":58,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.971,"duration_milliseconds":971,"important":true,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:15:01+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10391,"mtime":"2026-04-25T20:15:01+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":56,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.372,"duration_milliseconds":372,"important":true,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:14:55+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10743,"mtime":"2026-04-25T20:14:55+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":21,"rb":20,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.372,"duration_milliseconds":372,"important":true,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:15:12+02:00","run_id":"20260425_201510_d9b97c6e"}
2026-04-25T20:16:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:16:03+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10039,"mtime":"2026-04-25T20:16:04+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":72,"rb":61,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.899,"duration_milliseconds":899,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:15:58+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10765,"mtime":"2026-04-25T20:15:58+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":56,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:15:56+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11511,"mtime":"2026-04-25T20:15:56+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":21,"rb":22,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.387,"duration_milliseconds":387,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:15:55+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":9906,"mtime":"2026-04-25T20:15:55+02:00","run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":21,"rb":9,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.453,"duration_milliseconds":453,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":323978,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:16:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.976,"exec_milliseconds":2976,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":323978,"important":true,"run_id":"20260425_201602_c3c247f3"}
2026-04-25T20:17:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:17:00+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10722,"mtime":"2026-04-25T20:17:00+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":72,"rb":61,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.99,"duration_milliseconds":990,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:16:57+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":10837,"mtime":"2026-04-25T20:16:55+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":56,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.367,"duration_milliseconds":367,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:16:58+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12088,"mtime":"2026-04-25T20:16:58+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":21,"rb":24,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:16:35+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10122,"mtime":"2026-04-25T20:16:34+02:00","run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":21,"rb":11,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.354,"duration_milliseconds":354,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":330590,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:17:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":3.058,"exec_milliseconds":3058,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":330590,"important":true,"run_id":"20260425_201702_3aa9fe71"}
2026-04-25T20:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:18:00+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":10990,"mtime":"2026-04-25T20:18:00+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":75,"rb":61,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.836,"duration_milliseconds":836,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:18:02+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11322,"mtime":"2026-04-25T20:18:02+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":57,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:18:02+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12546,"mtime":"2026-04-25T20:18:04+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":24,"rb":25,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:18:04+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10836,"mtime":"2026-04-25T20:18:04+02:00","run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":25,"rb":11,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":338679,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:18:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.545,"exec_milliseconds":2545,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":338679,"important":true,"run_id":"20260425_201802_e3fafc38"}
2026-04-25T20:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:18:58+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11366,"mtime":"2026-04-25T20:18:58+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":74,"rb":61,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.847,"duration_milliseconds":847,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:18:10+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":11398,"mtime":"2026-04-25T20:18:09+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":66,"rb":57,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:18:43+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12728,"mtime":"2026-04-25T20:18:42+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":24,"rb":26,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:19:01+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11222,"mtime":"2026-04-25T20:19:01+02:00","run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":27,"rb":13,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":343013,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:19:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.473,"exec_milliseconds":2473,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":343013,"important":true,"run_id":"20260425_201901_3fd9fecc"}
2026-04-25T20:20:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:20:09+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":11896,"mtime":"2026-04-25T20:20:09+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":74,"rb":61,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.843,"duration_milliseconds":843,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:20:04+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12051,"mtime":"2026-04-25T20:20:03+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":69,"rb":57,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:20:07+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13351,"mtime":"2026-04-25T20:20:05+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":26,"rb":28,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:19:57+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11828,"mtime":"2026-04-25T20:19:55+02:00","run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":30,"rb":14,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.329,"duration_milliseconds":329,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":353241,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:20:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.546,"exec_milliseconds":2546,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":353241,"important":true,"run_id":"20260425_202009_a6005db0"}
2026-04-25T20:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:20:54+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":12644,"mtime":"2026-04-25T20:20:53+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":77,"rb":63,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:20:04+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12051,"mtime":"2026-04-25T20:20:03+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":69,"rb":57,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.326,"duration_milliseconds":326,"important":true,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:20:41+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13786,"mtime":"2026-04-25T20:20:40+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":28,"rb":30,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:21:01+02:00","run_id":"20260425_202101_2b688cdd"}
2026-04-25T20:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:21:46+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13005,"mtime":"2026-04-25T20:21:46+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":77,"rb":65,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.788,"duration_milliseconds":788,"important":true,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:21:44+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12171,"mtime":"2026-04-25T20:21:43+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":69,"rb":59,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.25,"duration_milliseconds":250,"important":true,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:20:41+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.225,"duration_milliseconds":225,"important":true,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:21:36+02:00","run_id":"20260425_202202_99a92eb0"}
2026-04-25T20:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:22:43+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":13568,"mtime":"2026-04-25T20:22:42+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":65,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.891,"duration_milliseconds":891,"important":true,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:22:39+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12580,"mtime":"2026-04-25T20:22:39+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":71,"rb":59,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.325,"duration_milliseconds":325,"important":true,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:22:49+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":5075,"mtime":"2026-04-25T20:22:48+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":28,"rb":30,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202301_336892c6"}
2026-04-25T20:23:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:21:36+02:00","run_id":"20260425_202301_336892c6"}
2026-04-25T20:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:23:59+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14049,"mtime":"2026-04-25T20:23:58+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":66,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.807,"duration_milliseconds":807,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:23:59+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":12991,"mtime":"2026-04-25T20:23:59+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":72,"rb":59,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.32,"duration_milliseconds":320,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:24:02+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":5854,"mtime":"2026-04-25T20:24:02+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":28,"rb":30,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:23:53+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":4981,"mtime":"2026-04-25T20:23:53+02:00","run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":32,"rb":16,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":304760,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:24:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.465,"exec_milliseconds":2465,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":304760,"important":true,"run_id":"20260425_202402_68aac385"}
2026-04-25T20:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:24:54+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14282,"mtime":"2026-04-25T20:24:54+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":66,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.903,"duration_milliseconds":903,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:24:53+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13257,"mtime":"2026-04-25T20:24:52+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":73,"rb":59,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:24:56+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6420,"mtime":"2026-04-25T20:24:56+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":28,"rb":32,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.392,"duration_milliseconds":392,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:24:39+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5401,"mtime":"2026-04-25T20:24:39+02:00","run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":34,"rb":16,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.337,"duration_milliseconds":337,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":311071,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:25:08+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.846,"exec_milliseconds":2846,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":311071,"important":true,"run_id":"20260425_202505_29ab9e8e"}
2026-04-25T20:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:26:03+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14282,"mtime":"2026-04-25T20:26:02+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":66,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.938,"duration_milliseconds":938,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:25:59+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13592,"mtime":"2026-04-25T20:25:59+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":59,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:25:45+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6842,"mtime":"2026-04-25T20:25:45+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":31,"rb":32,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.313,"duration_milliseconds":313,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:24:39+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":5401,"mtime":"2026-04-25T20:24:39+02:00","run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":34,"rb":16,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.342,"duration_milliseconds":342,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":314290,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:26:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.761,"exec_milliseconds":2761,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":314290,"important":true,"run_id":"20260425_202602_c9e2acf3"}
2026-04-25T20:27:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:26:58+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":14650,"mtime":"2026-04-25T20:26:58+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":69,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.014,"duration_milliseconds":1014,"important":true,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:26:52+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":13895,"mtime":"2026-04-25T20:26:53+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":59,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.405,"duration_milliseconds":405,"important":true,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:27:04+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7768,"mtime":"2026-04-25T20:27:03+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":31,"rb":32,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.369,"duration_milliseconds":369,"important":true,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:26:58+02:00","run_id":"20260425_202701_cabc0ad8"}
2026-04-25T20:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:27:54+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15102,"mtime":"2026-04-25T20:27:54+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":79,"rb":69,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.896,"duration_milliseconds":896,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:27:59+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14123,"mtime":"2026-04-25T20:27:59+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":59,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.338,"duration_milliseconds":338,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:27:59+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8288,"mtime":"2026-04-25T20:27:58+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":33,"rb":32,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.371,"duration_milliseconds":371,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:27:54+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6422,"mtime":"2026-04-25T20:27:54+02:00","run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":34,"rb":21,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.344,"duration_milliseconds":344,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":330496,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:28:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.766,"exec_milliseconds":2766,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":330496,"important":true,"run_id":"20260425_202802_3c89324f"}
2026-04-25T20:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:29:00+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15367,"mtime":"2026-04-25T20:29:00+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":69,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.822,"duration_milliseconds":822,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:28:28+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14379,"mtime":"2026-04-25T20:28:28+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:28:46+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8638,"mtime":"2026-04-25T20:28:46+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":36,"rb":32,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.28,"duration_milliseconds":280,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:29:01+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7022,"mtime":"2026-04-25T20:29:01+02:00","run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":34,"rb":21,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.271,"duration_milliseconds":271,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":336781,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:29:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.436,"exec_milliseconds":2436,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":336781,"important":true,"run_id":"20260425_202901_bef51033"}
2026-04-25T20:30:16+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:29:55+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15655,"mtime":"2026-04-25T20:29:53+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:17+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.844,"duration_milliseconds":844,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:30:07+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9364,"mtime":"2026-04-25T20:30:06+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":36,"rb":34,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.288,"duration_milliseconds":288,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:30:12+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7730,"mtime":"2026-04-25T20:30:12+02:00","run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":37,"rb":24,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:18+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:19+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:19+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:19+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":344038,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:30:19+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.474,"exec_milliseconds":2474,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":344038,"important":true,"run_id":"20260425_203016_3d6eeea4"}
2026-04-25T20:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:29:55+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15655,"mtime":"2026-04-25T20:29:53+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.795,"duration_milliseconds":795,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.267,"duration_milliseconds":267,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:30:55+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9729,"mtime":"2026-04-25T20:30:53+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":38,"rb":34,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:30:57+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7970,"mtime":"2026-04-25T20:30:55+02:00","run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":38,"rb":26,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:03+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":346547,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:31:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.416,"exec_milliseconds":2416,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":346547,"important":true,"run_id":"20260425_203101_1ec386e9"}
2026-04-25T20:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:29:55+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15655,"mtime":"2026-04-25T20:29:53+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:31:39+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10009,"mtime":"2026-04-25T20:31:39+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":38,"rb":37,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:31:46+02:00","run_id":"20260425_203202_4f6a55ae"}
2026-04-25T20:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:32:40+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15799,"mtime":"2026-04-25T20:32:40+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.856,"duration_milliseconds":856,"important":true,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:32:47+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10391,"mtime":"2026-04-25T20:32:47+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":38,"rb":37,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:32:58+02:00","run_id":"20260425_203301_025c1cb9"}
2026-04-25T20:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:32:40+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15799,"mtime":"2026-04-25T20:32:40+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.627,"duration_milliseconds":1627,"important":true,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4162,"mtime":"2026-04-25T20:34:01+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10969,"mtime":"2026-04-25T20:33:59+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":40,"rb":37,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:34:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:33:54+02:00","run_id":"20260425_203402_5e1a8397"}
2026-04-25T20:35:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:35:06+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15946,"mtime":"2026-04-25T20:35:06+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.821,"duration_milliseconds":821,"important":true,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.322,"duration_milliseconds":322,"important":true,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:34:52+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11313,"mtime":"2026-04-25T20:34:51+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":43,"rb":37,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.335,"duration_milliseconds":335,"important":true,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203506_5874e109"}
2026-04-25T20:35:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:35:05+02:00","run_id":"20260425_203506_5874e109"}
2026-04-25T20:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:35:06+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15946,"mtime":"2026-04-25T20:35:06+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.797,"duration_milliseconds":797,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:36:03+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11550,"mtime":"2026-04-25T20:36:03+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":43,"rb":37,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:35:49+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10341,"mtime":"2026-04-25T20:35:49+02:00","run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":44,"rb":28,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.261,"duration_milliseconds":261,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":365487,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:36:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.332,"exec_milliseconds":2332,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":365487,"important":true,"run_id":"20260425_203602_901e6cfd"}
2026-04-25T20:37:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:36:54+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15946,"mtime":"2026-04-25T20:36:54+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.315,"duration_milliseconds":315,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:36:37+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11758,"mtime":"2026-04-25T20:36:37+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":43,"rb":39,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:36:56+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10910,"mtime":"2026-04-25T20:36:56+02:00","run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":44,"rb":30,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":368804,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:37:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.523,"exec_milliseconds":2523,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":368804,"important":true,"run_id":"20260425_203701_8c8aa964"}
2026-04-25T20:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:36:54+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":15946,"mtime":"2026-04-25T20:36:54+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.839,"duration_milliseconds":839,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:37:48+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12181,"mtime":"2026-04-25T20:37:47+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":39,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:37:47+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11136,"mtime":"2026-04-25T20:37:47+02:00","run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":44,"rb":30,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":371567,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:38:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.389,"exec_milliseconds":2389,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":371567,"important":true,"run_id":"20260425_203802_7c7370d4"}
2026-04-25T20:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:38:48+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:39:03+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.897,"duration_milliseconds":897,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:38:54+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12717,"mtime":"2026-04-25T20:38:53+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":39,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:39:03+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11466,"mtime":"2026-04-25T20:39:02+02:00","run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":45,"rb":30,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":375923,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:39:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.502,"exec_milliseconds":2502,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":375923,"important":true,"run_id":"20260425_203901_d20b7c9a"}
2026-04-25T20:40:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:39:18+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:39:17+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:39:57+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13202,"mtime":"2026-04-25T20:39:57+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":43,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:40:09+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11842,"mtime":"2026-04-25T20:40:09+02:00","run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":46,"rb":33,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":379536,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:40:12+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.435,"exec_milliseconds":2435,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":379536,"important":true,"run_id":"20260425_204009_80b42bfa"}
2026-04-25T20:41:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:39:18+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:39:17+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.856,"duration_milliseconds":856,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4163,"mtime":"2026-04-25T20:40:54+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13497,"mtime":"2026-04-25T20:40:54+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":43,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:41:01+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":12349,"mtime":"2026-04-25T20:41:01+02:00","run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":50,"rb":35,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":382906,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:41:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.52,"exec_milliseconds":2520,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":382906,"important":true,"run_id":"20260425_204101_1fadb49d"}
2026-04-25T20:42:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:41:49+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:41:48+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.861,"duration_milliseconds":861,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:41:08+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13570,"mtime":"2026-04-25T20:41:08+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":43,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:42:04+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":12772,"mtime":"2026-04-25T20:42:04+02:00","run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":50,"rb":37,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":385017,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:42:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.56,"exec_milliseconds":2560,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":385017,"important":true,"run_id":"20260425_204202_23a52e28"}
2026-04-25T20:43:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.846,"duration_milliseconds":846,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.331,"duration_milliseconds":331,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:42:39+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13647,"mtime":"2026-04-25T20:42:38+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":45,"rb":43,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:42:52+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":13329,"mtime":"2026-04-25T20:42:51+02:00","run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":51,"rb":37,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":387757,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:43:04+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.628,"exec_milliseconds":2628,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":387757,"important":true,"run_id":"20260425_204301_7048c9e2"}
2026-04-25T20:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.939,"duration_milliseconds":939,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.368,"duration_milliseconds":368,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:44:02+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14321,"mtime":"2026-04-25T20:44:02+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":46,"rb":45,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.379,"duration_milliseconds":379,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:43:52+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":13735,"mtime":"2026-04-25T20:43:52+02:00","run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":39,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.402,"duration_milliseconds":402,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":392431,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:44:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.965,"exec_milliseconds":2965,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":392431,"important":true,"run_id":"20260425_204402_fd2ace82"}
2026-04-25T20:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.856,"duration_milliseconds":856,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:45:00+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14852,"mtime":"2026-04-25T20:45:00+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":48,"rb":45,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.32,"duration_milliseconds":320,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:45:10+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14036,"mtime":"2026-04-25T20:45:10+02:00","run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":39,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":395971,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:45:11+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":2.62,"exec_milliseconds":2620,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":395971,"important":true,"run_id":"20260425_204509_7bb7c6fe"}
2026-04-25T20:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.984,"duration_milliseconds":984,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.419,"duration_milliseconds":419,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:46:00+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15314,"mtime":"2026-04-25T20:46:00+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":48,"rb":45,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.415,"duration_milliseconds":415,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:45:58+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14291,"mtime":"2026-04-25T20:45:58+02:00","run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.517,"duration_milliseconds":517,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":399044,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:46:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":3.321,"exec_milliseconds":3321,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":399044,"important":true,"run_id":"20260425_204602_f019543c"}
2026-04-25T20:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.043,"duration_milliseconds":1043,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.611,"duration_milliseconds":611,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:46:18+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15538,"mtime":"2026-04-25T20:46:18+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":48,"rb":45,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.695,"duration_milliseconds":695,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:46:31+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14531,"mtime":"2026-04-25T20:46:31+02:00","run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.528,"duration_milliseconds":528,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":401031,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:47:05+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":3.914,"exec_milliseconds":3914,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":401031,"important":true,"run_id":"20260425_204701_91ecc7a2"}
2026-04-25T20:48:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.073,"duration_milliseconds":1073,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.641,"duration_milliseconds":641,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:47:57+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15725,"mtime":"2026-04-25T20:47:56+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":49,"rb":45,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.598,"duration_milliseconds":598,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:48:02+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:48:02+02:00","run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.604,"duration_milliseconds":604,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:07+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:07+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":403118,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:48:07+02:00 [INFO] Cron run finished {"status":"OK","exec_seconds":4.043,"exec_milliseconds":4043,"live_games":4,"fallback_games":0,"warnings":0,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":403118,"important":true,"run_id":"20260425_204802_ef813b64"}
2026-04-25T20:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.036,"duration_milliseconds":1036,"important":true,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.465,"duration_milliseconds":465,"important":true,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.446,"duration_milliseconds":446,"important":true,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:49:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:48:28+02:00","run_id":"20260425_204901_5c3d4fbc"}
2026-04-25T20:50:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.058,"duration_milliseconds":1058,"important":true,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.345,"duration_milliseconds":345,"important":true,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:49:40+02:00","run_id":"20260425_205009_6f31ecea"}
2026-04-25T20:51:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.924,"duration_milliseconds":924,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.344,"duration_milliseconds":344,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:50:34+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:50:33+02:00","run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.382,"duration_milliseconds":382,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405128,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:51:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.94,"exec_milliseconds":2940,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405128,"important":true,"run_id":"20260425_205101_b593a855"}
2026-04-25T20:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205202_d58da2c9"}
2026-04-25T20:53:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:53:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205301_6ced11e7"}
2026-04-25T20:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.893,"duration_milliseconds":893,"important":true,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.313,"duration_milliseconds":313,"important":true,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205402_5808c9e8"}
2026-04-25T20:55:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:05+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.867,"duration_milliseconds":867,"important":true,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.343,"duration_milliseconds":343,"important":true,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":1.153,"duration_milliseconds":1153,"important":true,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:08+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:08+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:55:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205505_b9fb6db5"}
2026-04-25T20:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.849,"duration_milliseconds":849,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.332,"duration_milliseconds":332,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.318,"duration_milliseconds":318,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405233,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:56:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.537,"exec_milliseconds":2537,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405233,"important":true,"run_id":"20260425_205602_92103e85"}
2026-04-25T20:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.926,"duration_milliseconds":926,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.389,"duration_milliseconds":389,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405233,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:57:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.802,"exec_milliseconds":2802,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405233,"important":true,"run_id":"20260425_205701_25e4e888"}
2026-04-25T20:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.935,"duration_milliseconds":935,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.395,"duration_milliseconds":395,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.445,"duration_milliseconds":445,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.504,"duration_milliseconds":504,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405233,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:58:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.145,"exec_milliseconds":3145,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405233,"important":true,"run_id":"20260425_205802_ffd18fdb"}
2026-04-25T20:59:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:03+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.903,"duration_milliseconds":1903,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.454,"duration_milliseconds":454,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4164,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T20:48:36+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.567,"duration_milliseconds":567,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.443,"duration_milliseconds":443,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":334812,"run_id":"20260425_205901_bad98f99"}
2026-04-25T20:59:06+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":4.314,"exec_milliseconds":4314,"live_games":4,"fallback_games":0,"warnings":2,"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":334812,"important":true,"run_id":"20260425_205901_bad98f99"}
2026-04-25T21:00:27+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:27+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:00:27+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16165,"mtime":"2026-04-25T21:00:26+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14830,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405080,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:00:29+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.496,"exec_milliseconds":2496,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405080,"important":true,"run_id":"20260425_210027_a2ba7fa7"}
2026-04-25T21:01:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.831,"duration_milliseconds":831,"important":true,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16176,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210101_b67eee81"}
2026-04-25T21:01:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T20:53:21+02:00","run_id":"20260425_210101_b67eee81"}
2026-04-25T21:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.812,"duration_milliseconds":812,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.285,"duration_milliseconds":285,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16176,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:01:14+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14841,"mtime":"2026-04-25T21:01:14+02:00","run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405238,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:02:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.486,"exec_milliseconds":2486,"live_games":4,"fallback_games":0,"warnings":1,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405238,"important":true,"run_id":"20260425_210202_4bebd774"}
2026-04-25T21:03:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.833,"duration_milliseconds":833,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.334,"duration_milliseconds":334,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16176,"mtime":"2026-04-25T21:00:32+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:02:41+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14857,"mtime":"2026-04-25T21:02:41+02:00","run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":405410,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:03:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.544,"exec_milliseconds":2544,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":405410,"important":true,"run_id":"20260425_210302_3dcf3acf"}
2026-04-25T21:04:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.823,"duration_milliseconds":823,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:03:40+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":5950,"mtime":"2026-04-25T21:03:41+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":50,"rb":48,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:03:55+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6137,"mtime":"2026-04-25T21:03:55+02:00","run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":54,"rb":40,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":323904,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:04:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.43,"exec_milliseconds":2430,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":323904,"important":true,"run_id":"20260425_210402_f923f811"}
2026-04-25T21:05:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:05+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:05+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:05+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:05+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:05+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:06+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:05:03+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6455,"mtime":"2026-04-25T21:05:03+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":54,"rb":51,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:04:55+02:00","run_id":"20260425_210505_8d994cb0"}
2026-04-25T21:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.865,"duration_milliseconds":865,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.334,"duration_milliseconds":334,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:05:44+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":6874,"mtime":"2026-04-25T21:05:44+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":57,"rb":51,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:06:00+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7531,"mtime":"2026-04-25T21:06:00+02:00","run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":60,"rb":42,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":333714,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:06:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.65,"exec_milliseconds":2650,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":333714,"important":true,"run_id":"20260425_210602_cefd0483"}
2026-04-25T21:07:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.859,"duration_milliseconds":859,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:07:00+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7520,"mtime":"2026-04-25T21:07:00+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":59,"rb":51,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:07:02+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":8056,"mtime":"2026-04-25T21:07:02+02:00","run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":60,"rb":42,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":338745,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:07:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.5,"exec_milliseconds":2500,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":338745,"important":true,"run_id":"20260425_210701_d6be5955"}
2026-04-25T21:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.869,"duration_milliseconds":869,"important":true,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.322,"duration_milliseconds":322,"important":true,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:07:54+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7972,"mtime":"2026-04-25T21:07:54+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":59,"rb":51,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.331,"duration_milliseconds":331,"important":true,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210802_97176bf5"}
2026-04-25T21:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:07:06+02:00","run_id":"20260425_210802_97176bf5"}
2026-04-25T21:09:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.85,"duration_milliseconds":850,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:09:03+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8425,"mtime":"2026-04-25T21:09:03+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":61,"rb":51,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:09:03+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":8554,"mtime":"2026-04-25T21:09:03+02:00","run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":62,"rb":42,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":344720,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:09:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.526,"exec_milliseconds":2526,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":344720,"important":true,"run_id":"20260425_210901_7abda444"}
2026-04-25T21:10:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.852,"duration_milliseconds":852,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.317,"duration_milliseconds":317,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:10:09+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9100,"mtime":"2026-04-25T21:10:08+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":61,"rb":55,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:10:11+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":9043,"mtime":"2026-04-25T21:10:11+02:00","run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":62,"rb":44,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":349686,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:10:12+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.49,"exec_milliseconds":2490,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":349686,"important":true,"run_id":"20260425_211009_9c017f24"}
2026-04-25T21:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.859,"duration_milliseconds":859,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.327,"duration_milliseconds":327,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:11:00+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9354,"mtime":"2026-04-25T21:10:59+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":62,"rb":55,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.302,"duration_milliseconds":302,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:11:02+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":9425,"mtime":"2026-04-25T21:11:02+02:00","run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":65,"rb":46,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":352366,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:11:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.455,"exec_milliseconds":2455,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":352366,"important":true,"run_id":"20260425_211101_87c2299b"}
2026-04-25T21:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.904,"duration_milliseconds":904,"important":true,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.451,"duration_milliseconds":451,"important":true,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:11:57+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9763,"mtime":"2026-04-25T21:11:57+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":65,"rb":55,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:12:03+02:00","run_id":"20260425_211202_fca6cccf"}
2026-04-25T21:13:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.882,"duration_milliseconds":882,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:12:29+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10074,"mtime":"2026-04-25T21:12:29+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":65,"rb":55,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:12:55+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10330,"mtime":"2026-04-25T21:12:55+02:00","run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":67,"rb":48,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":359309,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:13:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.517,"exec_milliseconds":2517,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":359309,"important":true,"run_id":"20260425_211302_80d4fac6"}
2026-04-25T21:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.848,"duration_milliseconds":848,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.286,"duration_milliseconds":286,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:12:29+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10074,"mtime":"2026-04-25T21:12:29+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":65,"rb":55,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4137,"mtime":"2026-04-25T21:13:27+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":null,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10785,"mtime":"2026-04-25T21:13:27+02:00","run_id":"20260425_211402_45601861"}
2026-04-25T21:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":67,"rb":48,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":361366,"run_id":"20260425_211402_45601861"}
2026-04-25T21:14:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.498,"exec_milliseconds":2498,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":361366,"important":true,"run_id":"20260425_211402_45601861"}
2026-04-25T21:15:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.84,"duration_milliseconds":840,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:15:02+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10637,"mtime":"2026-04-25T21:15:00+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":68,"rb":55,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.27,"duration_milliseconds":270,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:15:00+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":11191,"mtime":"2026-04-25T21:15:00+02:00","run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":68,"rb":48,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":365278,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:15:12+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.45,"exec_milliseconds":2450,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":365278,"important":true,"run_id":"20260425_211509_b54a8d10"}
2026-04-25T21:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.832,"duration_milliseconds":832,"important":true,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.287,"duration_milliseconds":287,"important":true,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:15:33+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10940,"mtime":"2026-04-25T21:15:31+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":68,"rb":55,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211602_3db368c0"}
2026-04-25T21:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:15:37+02:00","run_id":"20260425_211602_3db368c0"}
2026-04-25T21:17:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.875,"duration_milliseconds":875,"important":true,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.378,"duration_milliseconds":378,"important":true,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:17:02+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11839,"mtime":"2026-04-25T21:17:01+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":68,"rb":55,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:16:55+02:00","run_id":"20260425_211701_e62b3f46"}
2026-04-25T21:18:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.934,"duration_milliseconds":934,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.357,"duration_milliseconds":357,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:17:45+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12053,"mtime":"2026-04-25T21:17:44+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":70,"rb":55,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.331,"duration_milliseconds":331,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:18:00+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":12190,"mtime":"2026-04-25T21:18:00+02:00","run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":69,"rb":50,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.384,"duration_milliseconds":384,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":375663,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:18:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.905,"exec_milliseconds":2905,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":375663,"important":true,"run_id":"20260425_211802_0f13697c"}
2026-04-25T21:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.863,"duration_milliseconds":863,"important":true,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:18:52+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12493,"mtime":"2026-04-25T21:19:03+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":71,"rb":57,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_211901_609672e3"}
2026-04-25T21:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:18:51+02:00","run_id":"20260425_211901_609672e3"}
2026-04-25T21:20:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.906,"duration_milliseconds":906,"important":true,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:20:09+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13062,"mtime":"2026-04-25T21:20:07+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":71,"rb":60,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.364,"duration_milliseconds":364,"important":true,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212009_76d36c18"}
2026-04-25T21:20:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:20:08+02:00","run_id":"20260425_212009_76d36c18"}
2026-04-25T21:21:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.803,"duration_milliseconds":803,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:21:01+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13807,"mtime":"2026-04-25T21:21:01+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":73,"rb":62,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.273,"duration_milliseconds":273,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:20:58+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":13626,"mtime":"2026-04-25T21:20:57+02:00","run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":77,"rb":52,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.31,"duration_milliseconds":310,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":389255,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:21:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.43,"exec_milliseconds":2430,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":389255,"important":true,"run_id":"20260425_212101_13c3e6b6"}
2026-04-25T21:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.868,"duration_milliseconds":868,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:21:22+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13807,"mtime":"2026-04-25T21:21:22+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":72,"rb":62,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:22:02+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14134,"mtime":"2026-04-25T21:22:02+02:00","run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":79,"rb":52,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.327,"duration_milliseconds":327,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":391443,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:22:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.555,"exec_milliseconds":2555,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":391443,"important":true,"run_id":"20260425_212202_4de5c230"}
2026-04-25T21:23:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.899,"duration_milliseconds":899,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.38,"duration_milliseconds":380,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:22:51+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14065,"mtime":"2026-04-25T21:22:49+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":73,"rb":62,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:22:48+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14490,"mtime":"2026-04-25T21:22:48+02:00","run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":79,"rb":54,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.327,"duration_milliseconds":327,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":394077,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:23:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.753,"exec_milliseconds":2753,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":394077,"important":true,"run_id":"20260425_212301_60d2dfc4"}
2026-04-25T21:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.983,"duration_milliseconds":983,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.411,"duration_milliseconds":411,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:23:26+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14363,"mtime":"2026-04-25T21:24:04+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":73,"rb":62,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.42,"duration_milliseconds":420,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:22:48+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14490,"mtime":"2026-04-25T21:22:48+02:00","run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":79,"rb":54,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.427,"duration_milliseconds":427,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":395371,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:24:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.165,"exec_milliseconds":3165,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":395371,"important":true,"run_id":"20260425_212402_66767d9a"}
2026-04-25T21:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.984,"duration_milliseconds":984,"important":true,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.342,"duration_milliseconds":342,"important":true,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:25:06+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14912,"mtime":"2026-04-25T21:25:06+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":74,"rb":62,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212505_2db258ac"}
2026-04-25T21:25:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:24:52+02:00","run_id":"20260425_212505_2db258ac"}
2026-04-25T21:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.875,"duration_milliseconds":875,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:26:01+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15520,"mtime":"2026-04-25T21:26:01+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":74,"rb":62,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:24:52+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":6565,"mtime":"2026-04-25T21:24:51+02:00","run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":79,"rb":54,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":366289,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:26:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.732,"exec_milliseconds":2732,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":366289,"important":true,"run_id":"20260425_212602_6c452a60"}
2026-04-25T21:27:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:26:57+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15866,"mtime":"2026-04-25T21:26:57+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":62,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.342,"duration_milliseconds":342,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:26:54+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7055,"mtime":"2026-04-25T21:26:54+02:00","run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":81,"rb":54,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.289,"duration_milliseconds":289,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":369837,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:27:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.601,"exec_milliseconds":2601,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":369837,"important":true,"run_id":"20260425_212701_540a5215"}
2026-04-25T21:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.859,"duration_milliseconds":859,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:27:56+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16187,"mtime":"2026-04-25T21:27:56+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":63,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.319,"duration_milliseconds":319,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:27:36+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7319,"mtime":"2026-04-25T21:27:36+02:00","run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":81,"rb":57,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":372352,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:28:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.524,"exec_milliseconds":2524,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":372352,"important":true,"run_id":"20260425_212802_ff6ff31b"}
2026-04-25T21:29:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.86,"duration_milliseconds":860,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:29:02+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16460,"mtime":"2026-04-25T21:29:01+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":65,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:28:55+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":7814,"mtime":"2026-04-25T21:28:54+02:00","run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":85,"rb":60,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":375544,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:29:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.547,"exec_milliseconds":2547,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":375544,"important":true,"run_id":"20260425_212901_2e24dca1"}
2026-04-25T21:30:18+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:18+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.852,"duration_milliseconds":852,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:29:29+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16678,"mtime":"2026-04-25T21:29:29+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:19+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":65,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.294,"duration_milliseconds":294,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:30:18+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":8743,"mtime":"2026-04-25T21:30:20+02:00","run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":88,"rb":60,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":380532,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:30:20+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.547,"exec_milliseconds":2547,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":380532,"important":true,"run_id":"20260425_213018_b609bd83"}
2026-04-25T21:31:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.008,"duration_milliseconds":1008,"important":true,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.419,"duration_milliseconds":419,"important":true,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:31:02+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16679,"mtime":"2026-04-25T21:31:02+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":65,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.431,"duration_milliseconds":431,"important":true,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213101_160770aa"}
2026-04-25T21:31:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:30:42+02:00","run_id":"20260425_213101_160770aa"}
2026-04-25T21:32:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:03+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.722,"duration_milliseconds":1722,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:32:04+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7102,"mtime":"2026-04-25T21:32:02+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":76,"rb":65,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.369,"duration_milliseconds":369,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:32:00+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":9464,"mtime":"2026-04-25T21:31:59+02:00","run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":89,"rb":60,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.323,"duration_milliseconds":323,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":271824,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:32:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.531,"exec_milliseconds":3531,"live_games":4,"fallback_games":0,"warnings":2,"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":271824,"important":true,"run_id":"20260425_213202_daa1fac8"}
2026-04-25T21:33:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.861,"duration_milliseconds":861,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.346,"duration_milliseconds":346,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:32:55+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":7630,"mtime":"2026-04-25T21:32:54+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":79,"rb":65,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:33:01+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":9905,"mtime":"2026-04-25T21:33:00+02:00","run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":89,"rb":62,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":346486,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:33:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.667,"exec_milliseconds":2667,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":346486,"important":true,"run_id":"20260425_213301_478b3171"}
2026-04-25T21:34:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.899,"duration_milliseconds":899,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.379,"duration_milliseconds":379,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:34:03+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8081,"mtime":"2026-04-25T21:34:04+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":82,"rb":68,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.361,"duration_milliseconds":361,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:34:04+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":10291,"mtime":"2026-04-25T21:34:04+02:00","run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":89,"rb":62,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.343,"duration_milliseconds":343,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":350039,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:34:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.791,"exec_milliseconds":2791,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":350039,"important":true,"run_id":"20260425_213402_bc6b4ea0"}
2026-04-25T21:35:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.851,"duration_milliseconds":851,"important":true,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:35:00+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":8490,"mtime":"2026-04-25T21:35:00+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":82,"rb":69,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.308,"duration_milliseconds":308,"important":true,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213505_c443314c"}
2026-04-25T21:35:07+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:35:06+02:00","run_id":"20260425_213505_c443314c"}
2026-04-25T21:36:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213602_582fff4a"}
2026-04-25T21:36:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213602_582fff4a"}
2026-04-25T21:37:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.861,"duration_milliseconds":861,"important":true,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.304,"duration_milliseconds":304,"important":true,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:36:58+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":9319,"mtime":"2026-04-25T21:36:56+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":84,"rb":70,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_213701_8b78befe"}
2026-04-25T21:37:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:37:00+02:00","run_id":"20260425_213701_8b78befe"}
2026-04-25T21:38:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:50+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:50+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:50+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":47.739,"duration_milliseconds":47739,"important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [WARN] Live game processing stopped due to time budget {"deadline_seconds":28,"important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [WARN] Skipping fallback query due to time budget {"important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":58623,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:38:51+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":48.398,"exec_milliseconds":48398,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":1,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":1,"truncated_live_games":1,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":58623,"important":true,"run_id":"20260425_213802_3b06100b"}
2026-04-25T21:39:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_213901_632ce841"}
2026-04-25T21:39:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_213901_632ce841"}
2026-04-25T21:40:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.879,"duration_milliseconds":879,"important":true,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.331,"duration_milliseconds":331,"important":true,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:39:57+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10336,"mtime":"2026-04-25T21:39:56+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":89,"rb":72,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:40:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:40:06+02:00","run_id":"20260425_214009_1b2ec432"}
2026-04-25T21:41:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:02+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.82,"duration_milliseconds":820,"important":true,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.305,"duration_milliseconds":305,"important":true,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:40:37+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10607,"mtime":"2026-04-25T21:40:37+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":89,"rb":75,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214101_210df684"}
2026-04-25T21:41:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:40:51+02:00","run_id":"20260425_214101_210df684"}
2026-04-25T21:42:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.784,"duration_milliseconds":784,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:41:41+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":10971,"mtime":"2026-04-25T21:41:41+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":89,"rb":75,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.301,"duration_milliseconds":301,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:41:51+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":13712,"mtime":"2026-04-25T21:41:50+02:00","run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":91,"rb":67,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.281,"duration_milliseconds":281,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":377062,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:42:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.427,"exec_milliseconds":2427,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":377062,"important":true,"run_id":"20260425_214202_4b274a96"}
2026-04-25T21:43:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.882,"duration_milliseconds":882,"important":true,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.335,"duration_milliseconds":335,"important":true,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:42:55+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11336,"mtime":"2026-04-25T21:42:55+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":89,"rb":77,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.336,"duration_milliseconds":336,"important":true,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214301_4db99154"}
2026-04-25T21:43:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:42:57+02:00","run_id":"20260425_214301_4db99154"}
2026-04-25T21:44:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.84,"duration_milliseconds":840,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.293,"duration_milliseconds":293,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:44:00+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":11866,"mtime":"2026-04-25T21:44:00+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":89,"rb":77,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.284,"duration_milliseconds":284,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4141,"mtime":"2026-04-25T21:43:59+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":14758,"mtime":"2026-04-25T21:43:59+02:00","run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":91,"rb":70,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":385395,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:44:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.517,"exec_milliseconds":2517,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":385395,"important":true,"run_id":"20260425_214402_8fac9579"}
2026-04-25T21:45:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.849,"duration_milliseconds":849,"important":true,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:45:02+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12446,"mtime":"2026-04-25T21:45:01+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":77,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214509_935c75b3"}
2026-04-25T21:45:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:44:21+02:00","run_id":"20260425_214509_935c75b3"}
2026-04-25T21:46:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.882,"duration_milliseconds":882,"important":true,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.324,"duration_milliseconds":324,"important":true,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:45:49+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12707,"mtime":"2026-04-25T21:45:49+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":79,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.316,"duration_milliseconds":316,"important":true,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:46:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:45:57+02:00","run_id":"20260425_214602_6635f3ca"}
2026-04-25T21:47:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.316,"duration_milliseconds":316,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:46:20+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12857,"mtime":"2026-04-25T21:46:14+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":79,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:46:41+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15338,"mtime":"2026-04-25T21:46:41+02:00","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004259,"file":"2004259.JSN","error":"empty payload","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":1.114,"duration_milliseconds":1114,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":324960,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:47:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.367,"exec_milliseconds":3367,"live_games":4,"fallback_games":0,"warnings":3,"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":324960,"important":true,"run_id":"20260425_214701_15071aa4"}
2026-04-25T21:48:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.845,"duration_milliseconds":845,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.329,"duration_milliseconds":329,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:46:20+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":12857,"mtime":"2026-04-25T21:46:14+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":79,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:47:07+02:00","run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.303,"duration_milliseconds":303,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":392454,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:48:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.536,"exec_milliseconds":2536,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":392454,"important":true,"run_id":"20260425_214802_258291cb"}
2026-04-25T21:49:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.828,"duration_milliseconds":828,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.278,"duration_milliseconds":278,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:48:54+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13225,"mtime":"2026-04-25T21:48:54+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":81,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.269,"duration_milliseconds":269,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:47:07+02:00","run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":393914,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:49:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.373,"exec_milliseconds":2373,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":393914,"important":true,"run_id":"20260425_214901_e2c09bdb"}
2026-04-25T21:50:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.868,"duration_milliseconds":868,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:50:00+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":13635,"mtime":"2026-04-25T21:49:59+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":91,"rb":83,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.328,"duration_milliseconds":328,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:47:07+02:00","run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.314,"duration_milliseconds":314,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":395668,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:50:12+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.681,"exec_milliseconds":3681,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":395668,"important":true,"run_id":"20260425_215008_4edbee77"}
2026-04-25T21:51:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:03+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.633,"duration_milliseconds":1633,"important":true,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:50:58+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14350,"mtime":"2026-04-25T21:51:04+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":95,"rb":85,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215101_15c506a1"}
2026-04-25T21:51:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_215101_15c506a1"}
2026-04-25T21:52:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.841,"duration_milliseconds":841,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:51:43+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":14571,"mtime":"2026-04-25T21:51:43+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":96,"rb":88,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:47:07+02:00","run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":399602,"run_id":"20260425_215202_62792984"}
2026-04-25T21:52:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.507,"exec_milliseconds":2507,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":399602,"important":true,"run_id":"20260425_215202_62792984"}
2026-04-25T21:53:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:52:44+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15026,"mtime":"2026-04-25T21:52:44+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":96,"rb":88,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215301_1856401f"}
2026-04-25T21:53:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:47:09+02:00","run_id":"20260425_215301_1856401f"}
2026-04-25T21:54:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.862,"duration_milliseconds":862,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:53:39+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15429,"mtime":"2026-04-25T21:53:38+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":97,"rb":88,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.292,"duration_milliseconds":292,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":403320,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:54:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.469,"exec_milliseconds":2469,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":403320,"important":true,"run_id":"20260425_215402_bdae7847"}
2026-04-25T21:55:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.844,"duration_milliseconds":844,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.318,"duration_milliseconds":318,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:53:39+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15429,"mtime":"2026-04-25T21:53:38+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":97,"rb":88,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":403586,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:55:08+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.588,"exec_milliseconds":2588,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":403586,"important":true,"run_id":"20260425_215506_4fefd47f"}
2026-04-25T21:56:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.817,"duration_milliseconds":817,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:53:39+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15429,"mtime":"2026-04-25T21:53:38+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":97,"rb":88,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.282,"duration_milliseconds":282,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.276,"duration_milliseconds":276,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":403686,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:56:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.4,"exec_milliseconds":2400,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":403686,"important":true,"run_id":"20260425_215602_9d550a93"}
2026-04-25T21:57:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:03+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.62,"duration_milliseconds":1620,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.295,"duration_milliseconds":295,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:57:03+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":15910,"mtime":"2026-04-25T21:57:02+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":99,"rb":90,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.309,"duration_milliseconds":309,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.317,"duration_milliseconds":317,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":335060,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:57:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.279,"exec_milliseconds":3279,"live_games":4,"fallback_games":0,"warnings":2,"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":335060,"important":true,"run_id":"20260425_215701_0808d6a7"}
2026-04-25T21:58:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.852,"duration_milliseconds":852,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.296,"duration_milliseconds":296,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:57:53+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16282,"mtime":"2026-04-25T21:57:53+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":100,"rb":92,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.298,"duration_milliseconds":298,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.299,"duration_milliseconds":299,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":407180,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:58:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.474,"exec_milliseconds":2474,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":407180,"important":true,"run_id":"20260425_215802_fe6d1b49"}
2026-04-25T21:59:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.905,"duration_milliseconds":905,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16616,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":100,"rb":94,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.359,"duration_milliseconds":359,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":408608,"run_id":"20260425_215901_8d824eea"}
2026-04-25T21:59:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.777,"exec_milliseconds":2777,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":408608,"important":true,"run_id":"20260425_215901_8d824eea"}
2026-04-25T22:00:25+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:25+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:25+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:25+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:26+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.935,"duration_milliseconds":935,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.398,"duration_milliseconds":398,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16616,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":100,"rb":94,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:27+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":408708,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:00:28+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.872,"exec_milliseconds":2872,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":408708,"important":true,"run_id":"20260425_220025_21abd497"}
2026-04-25T22:01:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.9,"duration_milliseconds":900,"important":true,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.352,"duration_milliseconds":352,"important":true,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16616,"mtime":"2026-04-25T21:58:23+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":100,"rb":94,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220101_694aad12"}
2026-04-25T22:01:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220101_694aad12"}
2026-04-25T22:02:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.911,"duration_milliseconds":911,"important":true,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.338,"duration_milliseconds":338,"important":true,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:01:58+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16732,"mtime":"2026-04-25T22:01:56+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.37,"duration_milliseconds":370,"important":true,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:02:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220202_86bcd0bd"}
2026-04-25T22:03:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.875,"duration_milliseconds":875,"important":true,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:02:35+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:02:34+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.374,"duration_milliseconds":374,"important":true,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220301_866006da"}
2026-04-25T22:03:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220301_866006da"}
2026-04-25T22:03:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220301_866006da"}
2026-04-25T22:04:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.884,"duration_milliseconds":884,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:02:35+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:02:34+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004258,"file":"2004258.JSN","error":"empty payload","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":1.144,"duration_milliseconds":1144,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":336303,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:04:06+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.527,"exec_milliseconds":3527,"live_games":4,"fallback_games":0,"warnings":3,"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":336303,"important":true,"run_id":"20260425_220402_6d50fa4f"}
2026-04-25T22:05:06+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.969,"duration_milliseconds":969,"important":true,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.543,"duration_milliseconds":543,"important":true,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:02:35+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:08+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:02:34+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.569,"duration_milliseconds":569,"important":true,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220506_027cab00"}
2026-04-25T22:05:09+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220506_027cab00"}
2026-04-25T22:06:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.899,"duration_milliseconds":899,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.34,"duration_milliseconds":340,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:02:35+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:02:34+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.341,"duration_milliseconds":341,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409694,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:06:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.74,"exec_milliseconds":2740,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409694,"important":true,"run_id":"20260425_220602_67e67359"}
2026-04-25T22:07:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.909,"duration_milliseconds":909,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.336,"duration_milliseconds":336,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:02:35+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:02:34+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.325,"duration_milliseconds":325,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.32,"duration_milliseconds":320,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409794,"run_id":"20260425_220701_82179518"}
2026-04-25T22:07:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.715,"exec_milliseconds":2715,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409794,"important":true,"run_id":"20260425_220701_82179518"}
2026-04-25T22:08:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.88,"duration_milliseconds":880,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.344,"duration_milliseconds":344,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.337,"duration_milliseconds":337,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.316,"duration_milliseconds":316,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409809,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:08:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.649,"exec_milliseconds":2649,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409809,"important":true,"run_id":"20260425_220802_0cc9b7c2"}
2026-04-25T22:09:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.89,"duration_milliseconds":890,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.351,"duration_milliseconds":351,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409815,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:09:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.721,"exec_milliseconds":2721,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409815,"important":true,"run_id":"20260425_220901_94e4bd8e"}
2026-04-25T22:10:09+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:09+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.842,"duration_milliseconds":842,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:10+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.275,"duration_milliseconds":275,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.29,"duration_milliseconds":290,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.311,"duration_milliseconds":311,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409817,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:10:11+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.491,"exec_milliseconds":2491,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409817,"important":true,"run_id":"20260425_221009_ad6c9c2b"}
2026-04-25T22:11:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.849,"duration_milliseconds":849,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.3,"duration_milliseconds":300,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.307,"duration_milliseconds":307,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.291,"duration_milliseconds":291,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409817,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:11:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.546,"exec_milliseconds":2546,"live_games":4,"fallback_games":0,"warnings":2,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409817,"important":true,"run_id":"20260425_221101_239a9127"}
2026-04-25T22:12:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [WARN] Scout JSON decode failed {"spiel_id":2004257,"file":"2004257.JSN","error":"empty payload","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:03+02:00 [WARN] Attempting SFTP reconnect {"host":"sftp.easycredit-bbl.de","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] SFTP reconnect successful {"host":"sftp.easycredit-bbl.de","important":true,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":1.791,"duration_milliseconds":1791,"important":true,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.417,"duration_milliseconds":417,"important":true,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:07:13+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.345,"duration_milliseconds":345,"important":true,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:12:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221202_6b4e3c94"}
2026-04-25T22:13:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:13:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221301_a4ca4f47"}
2026-04-25T22:14:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.872,"duration_milliseconds":872,"important":true,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.297,"duration_milliseconds":297,"important":true,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:14:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221402_3bb21c9b"}
2026-04-25T22:15:10+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:10+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.874,"duration_milliseconds":874,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:11+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.312,"duration_milliseconds":312,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.337,"duration_milliseconds":337,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.306,"duration_milliseconds":306,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:15:12+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.716,"exec_milliseconds":2716,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_221510_625adbe4"}
2026-04-25T22:16:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.897,"duration_milliseconds":897,"important":true,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.349,"duration_milliseconds":349,"important":true,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.323,"duration_milliseconds":323,"important":true,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221602_2547d62d"}
2026-04-25T22:16:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221602_2547d62d"}
2026-04-25T22:17:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.921,"duration_milliseconds":921,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.384,"duration_milliseconds":384,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.398,"duration_milliseconds":398,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.362,"duration_milliseconds":362,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:17:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.925,"exec_milliseconds":2925,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_221701_65854baa"}
2026-04-25T22:18:03+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.889,"duration_milliseconds":889,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.355,"duration_milliseconds":355,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.39,"duration_milliseconds":390,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.374,"duration_milliseconds":374,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:18:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.829,"exec_milliseconds":2829,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_221802_6cc136d1"}
2026-04-25T22:19:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:02+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.899,"duration_milliseconds":899,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.321,"duration_milliseconds":321,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:03+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.33,"duration_milliseconds":330,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:19:04+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.671,"exec_milliseconds":2671,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_221901_1df5afdb"}
2026-04-25T22:20:11+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:11+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.937,"duration_milliseconds":937,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.348,"duration_milliseconds":348,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:12+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.36,"duration_milliseconds":360,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.344,"duration_milliseconds":344,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:20:13+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":4.714,"exec_milliseconds":4714,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_222009_05b4195c"}
2026-04-25T22:21:01+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.893,"duration_milliseconds":893,"important":true,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.333,"duration_milliseconds":333,"important":true,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.347,"duration_milliseconds":347,"important":true,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:21:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222101_3ea789e4"}
2026-04-25T22:22:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.941,"duration_milliseconds":941,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.35,"duration_milliseconds":350,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.345,"duration_milliseconds":345,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.334,"duration_milliseconds":334,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:22:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.772,"exec_milliseconds":2772,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_222202_93de58e1"}
2026-04-25T22:23:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.869,"duration_milliseconds":869,"important":true,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.365,"duration_milliseconds":365,"important":true,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:23:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222301_5d48f67c"}
2026-04-25T22:24:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.874,"duration_milliseconds":874,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.336,"duration_milliseconds":336,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.363,"duration_milliseconds":363,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:04+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.353,"duration_milliseconds":353,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:24:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.705,"exec_milliseconds":2705,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_222402_0bb0a316"}
2026-04-25T22:25:05+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:06+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.93,"duration_milliseconds":930,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.358,"duration_milliseconds":358,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:07+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.38,"duration_milliseconds":380,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.409,"duration_milliseconds":409,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:25:08+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":3.101,"exec_milliseconds":3101,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_222505_55883fcf"}
2026-04-25T22:26:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.893,"duration_milliseconds":893,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.326,"duration_milliseconds":326,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Init JSON parsed {"spiel_id":2004259,"file":"2004259_INIT.JSN","referee_count":4,"spect":6335,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259.JSN","size":15401,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Scout JSON parsed {"spiel_id":2004259,"file":"2004259.JSN","ra":94,"rb":74,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004259,"to":"michael@grewelding.com","run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Live row rendered {"spiel_id":2004259,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Live game timing {"spiel_id":2004259,"duration_seconds":0.402,"duration_milliseconds":402,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [WARN] No statstatus column found in liga1.viw_game_status_all; Official filter skipped {"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Fallback query executed {"remaining_slots":5,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Output file written {"file":"/var/www/html/stats/newLiveCheck.html","bytes":409775,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:26:05+02:00 [INFO] Cron run finished {"status":"WARN","exec_seconds":2.821,"exec_milliseconds":2821,"live_games":4,"fallback_games":0,"warnings":3,"errors":0,"json_errors":0,"sftp_dir_errors":0,"sftp_file_missing":0,"timed_out":0,"truncated_live_games":0,"output_file":"/var/www/html/stats/newLiveCheck.html","output_bytes":409775,"important":true,"run_id":"20260425_222602_675f1896"}
2026-04-25T22:27:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:02+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004257,"file":"2004257.JSN","ra":81,"rb":72,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004257,"to":"michael@grewelding.com","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004257,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Live game timing {"spiel_id":2004257,"duration_seconds":0.89,"duration_milliseconds":890,"important":true,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Processing live game {"spiel_id":2004260,"team_id":433,"league":"BBL","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":433,"spiel_id":2004260,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260_INIT.JSN","size":4225,"mtime":"2026-04-25T20:30:16+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004260,"file":"2004260_INIT.JSN","referee_count":4,"spect":4200,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004260,"file":"2004260.JSN","size":14368,"mtime":"2026-04-25T20:30:15+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Scout JSON parsed {"spiel_id":2004260,"file":"2004260.JSN","ra":75,"rb":61,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [WARN] Pending DB confirmation alert mail failed {"spiel_id":2004260,"to":"michael@grewelding.com","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Live row rendered {"spiel_id":2004260,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Live game timing {"spiel_id":2004260,"duration_seconds":0.339,"duration_milliseconds":339,"important":true,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Processing live game {"spiel_id":2004258,"team_id":483,"league":"BBL","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP upload directory reachable {"team_id":483,"spiel_id":2004258,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258_INIT.JSN","size":4168,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004258,"file":"2004258_INIT.JSN","referee_count":4,"spect":3012,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:03+02:00 [INFO] SFTP file found {"spiel_id":2004258,"file":"2004258.JSN","size":16868,"mtime":"2026-04-25T22:14:01+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] Scout JSON parsed {"spiel_id":2004258,"file":"2004258.JSN","ra":102,"rb":94,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] Live row rendered {"spiel_id":2004258,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] Live game timing {"spiel_id":2004258,"duration_seconds":0.345,"duration_milliseconds":345,"important":true,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] Processing live game {"spiel_id":2004259,"team_id":430,"league":"BBL","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] SFTP upload directory reachable {"team_id":430,"spiel_id":2004259,"run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:27:04+02:00 [INFO] SFTP file found {"spiel_id":2004259,"file":"2004259_INIT.JSN","size":4142,"mtime":"2026-04-25T21:53:20+02:00","run_id":"20260425_222701_36dd7ae0"}
2026-04-25T22:28:02+02:00 [INFO] Cron run started {"php_sapi":"apache2handler","env_file":"/var/www/html/stats/cron/.env","max_live_games":9,"enable_period_scan":0,"verbose_log":1,"time_budget_seconds":28,"sftp_timeout_seconds":4,"log_retention_days":7,"season":"2025/2026","minimal_roundtrip":0,"alert_email_to":"michael@grewelding.com","alert_cooldown_seconds":21600,"important":true,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] SFTP login successful {"host":"sftp.easycredit-bbl.de","user":"liga","run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Loaded referee list {"count":36,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Loaded TK list {"count":15,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Team meta loaded {"count":24,"season":"2025/2026","run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Live games query successful {"count":4,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Processing live game {"spiel_id":2004257,"team_id":418,"league":"BBL","run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] SFTP upload directory reachable {"team_id":418,"spiel_id":2004257,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257_INIT.JSN","size":4157,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] Init JSON parsed {"spiel_id":2004257,"file":"2004257_INIT.JSN","referee_count":4,"spect":5458,"run_id":"20260425_222802_466f761e"}
2026-04-25T22:28:03+02:00 [INFO] SFTP file found {"spiel_id":2004257,"file":"2004257.JSN","size":16092,"mtime":"2026-04-25T20:42:33+02:00","run_id":"20260425_222802_466f761e"}
