1 line
8.3 KiB
JSON
1 line
8.3 KiB
JSON
{"generated_at":"2026-09-11 01:20:32","categories":{"cctv":{"channels":20,"streams":48},"hk_mo_tw":{"channels":7,"streams":7},"local":{"channels":6,"streams":8},"satellite":{"channels":28,"streams":38},"webcast":{"channels":1,"streams":1}},"strict_streams":85,"intermittent_streams":3,"streams":{"published":102,"active":166,"new":1723,"unstable":508},"pending_probe":{"batch_id":"cn-cs-20260910T201736Z-347cdecc","expires_at":"2026-09-12T02:17:36Z"},"pending_github":{"batch_id":"gh-auth-20260910T184222Z-f8f4c92f","expires_at":"2026-09-11T18:42:22Z"},"probe_summary":{"gitee_total":30,"gitee_submitted":3,"gitee_consumed":19,"gitee_rejected":1,"gitee_expired":7,"github_total":11,"github_submitted":1,"github_consumed":8,"github_rejected":1,"github_expired":1},"probe_details":[{"name":"gitee-cs","label":"Gitee 主账号","candidate":{"batch_id":"cn-cs-20260910T201736Z-347cdecc","count":203,"status":"submitted","mtime":"2026-09-11 01:18:37"},"result":{"batch_id":"cn-cs-20260910T184231Z-afd695cd","count":57,"status":"complete","mtime":"2026-09-11 01:18:37"},"progress":null},{"name":"gitee-css","label":"Gitee 账号2","candidate":{"batch_id":"cn-css-20260910T201737Z-9246151f","count":203,"status":"submitted","mtime":"2026-09-11 01:18:39"},"result":{"batch_id":"cn-css-20260910T184232Z-e7ba5558","count":57,"status":"complete","mtime":"2026-09-11 01:18:39"},"progress":null},{"name":"gitee-csss","label":"Gitee 账号3","candidate":{"batch_id":"cn-csss-20260910T201739Z-c8ef3262","count":201,"status":"submitted","mtime":"2026-09-11 01:18:42"},"result":{"batch_id":"cn-csss-20260910T184233Z-13b718f8","count":56,"status":"complete","mtime":"2026-09-11 01:18:42"},"progress":null},{"name":"github-deep","label":"GitHub","candidate":{"batch_id":"gh-deep-20260911T050152Z-1d418c63","count":82,"status":"submitted","mtime":"2026-09-11 01:01:52"},"result":{"batch_id":"gh-deep-20260911T050152Z-1d418c63","count":82,"status":"complete","mtime":"2026-09-11 01:05:11"},"progress":{"batch_id":"gh-deep-20260911T050152Z-1d418c63","total":82,"processed":82,"remaining":0,"status":"complete","updated_at":"2026-09-11T05:03:47Z"}}],"quality":{"github_video_ok":124,"github_risk_events":120,"github_total":244,"top_sources":[{"source_id":13,"name":"kstore-aiwex","score":76.56,"source_count":61,"domestic_success_count":61},{"source_id":11,"name":"zhoujie IPv4","score":57.74,"source_count":104,"domestic_success_count":75},{"source_id":47,"name":"Collect-IPTV 精选排序","score":35.14,"source_count":212,"domestic_success_count":93},{"source_id":1,"name":"fanmingming IPv4","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":2,"name":"fanmingming IPv6","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":3,"name":"YanG-1989 Gather","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":4,"name":"Kimentanm iptv","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":5,"name":"BurningC4 V4","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":6,"name":"Tvlist CCTV","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":7,"name":"iptv-org CN","score":0.0,"source_count":0,"domestic_success_count":0}]},"job_summary":{"state":"running","current_stage":"generate","progress_pct":57.14,"last_error":"未发现异常","stage_health":{"ok":4,"running":0,"waiting":2,"err":1}},"runtime":{"state":"running","current_stage":"generate","progress_pct":57.14,"completed_stage_count":4,"total_stage_count":7,"elapsed_seconds":117.26,"started_at":"2026-09-11 01:18:35","finished_at":"","stages":{"github_auth":{"state":"ok","label":"github_auth","current":0,"total":0,"elapsed_seconds":0.9,"started_at":"2026-09-11 01:18:35","finished_at":"2026-09-11 01:18:35"},"speedtest":{"state":"ok","label":"speedtest","current":0,"total":0,"elapsed_seconds":8.44,"started_at":"2026-09-11 01:18:35","finished_at":"2026-09-11 01:18:43"},"github_deep":{"state":"err","label":"github_deep","current":0,"total":0,"elapsed_seconds":8.94,"started_at":"2026-09-11 01:18:43","finished_at":"2026-09-11 01:18:51"},"epg":{"state":"ok","label":"epg","current":1917,"total":1917,"elapsed_seconds":9.65,"started_at":"2026-09-11 01:18:51","finished_at":"2026-09-11 01:19:00"},"generate":{"state":"ok","label":"generate","current":3,"total":3,"elapsed_seconds":92.26,"started_at":"2026-09-11 01:19:00","finished_at":"2026-09-11 01:20:32"}}},"recent_runs":[{"run_id":"20260911011835","stage":"epg","status":"ok","end_at":"2026-09-11 01:19:00","stats_json":"{\"detail\": \"{\\\"refreshed\\\": 402}\"}"},{"run_id":"20260911011835","stage":"github_deep","status":"err","end_at":"2026-09-11 01:18:44","stats_json":"{\"detail\": \"Traceback (most recent call last):\\n File \\\"/opt/iptv-scraper/iptv_scraper/orchestrator.py\\\", line 360, in run_stage\\n if name in PUBLISH_REQUIRED_STAGES:\\n ^^^^^^^^^^^^^^^^^^^^^^^\\nNameError: name 'PUBLISH_REQUIRED_STAGES' is not defined\\n\"}"},{"run_id":"20260911011835","stage":"github_deep","status":"err","end_at":"2026-09-11 01:18:44","stats_json":"{\"detail\": \"{\\\"err\\\": \\\"Cannot operate on a closed database.\\\"}\"}"},{"run_id":"20260911011835","stage":"speedtest","status":"ok","end_at":"2026-09-11 01:18:43","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"waiting_batches\\\": [{\\\"batch_id\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\", \\\"state\\\": \\\"submitted\\\", \\\"state_history_json\\\": \\\"[]\\\"}, {\\\"batch_id\\\": \\\"cn-css-20260910T201737Z-9246151f\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:37Z\\\", \\\"state\\\": \\\"submitted\\\", \\\"state_history_json\\\": \\\"[]\\\"}, {\\\"batch_id\\\": \\\"cn-csss-20260910T201739Z-c8ef3262\\\", \\\"expires\"}"},{"run_id":"20260911011835","stage":"github_auth","status":"ok","end_at":"2026-09-11 01:18:35","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"gh-auth-20260910T184222Z-f8f4c92f\\\", \\\"expires_at\\\": \\\"2026-09-11T18:42:22Z\\\", \\\"recovered\\\": {\\\"ok\\\": 0, \\\"total\\\": 0, \\\"error\\\": \\\"batch-already-consumed\\\"}, \\\"queue_status\\\": \\\"waiting-for-consume\\\", \\\"released_batches\\\": [\\\"gh-auth-001\\\"]}\"}"},{"run_id":"20260911011354","stage":"total","status":"err","end_at":"2026-09-11 01:16:47","stats_json":"{\"secs\": 163.0}"},{"run_id":"20260911011354","stage":"generate","status":"ok","end_at":"2026-09-11 01:16:37","stats_json":"{\"detail\": \"{\\\"files\\\": {\\\"cctv\\\": 20, \\\"satellite\\\": 27, \\\"local\\\": 6, \\\"hk_mo_tw\\\": 7}, \\\"channels\\\": 60, \\\"epg_channels\\\": 270, \\\"epg_programmes\\\": 37439}\"}"},{"run_id":"20260911011354","stage":"epg","status":"ok","end_at":"2026-09-11 01:15:06","stats_json":"{\"detail\": \"{\\\"refreshed\\\": 402}\"}"},{"run_id":"20260911011354","stage":"github_deep","status":"err","end_at":"2026-09-11 01:14:49","stats_json":"{\"detail\": \"Traceback (most recent call last):\\n File \\\"/opt/iptv-scraper/iptv_scraper/orchestrator.py\\\", line 360, in run_stage\\n if name in PUBLISH_REQUIRED_STAGES:\\n ^^^^^^^^^^^^^^^^^^^^^^^\\nNameError: name 'PUBLISH_REQUIRED_STAGES' is not defined\\n\"}"},{"run_id":"20260911011354","stage":"github_deep","status":"err","end_at":"2026-09-11 01:14:49","stats_json":"{\"detail\": \"{\\\"err\\\": \\\"Cannot operate on a closed database.\\\"}\"}"},{"run_id":"20260911011354","stage":"speedtest","status":"ok","end_at":"2026-09-11 01:14:49","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"waiting_batches\\\": [{\\\"batch_id\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\", \\\"state\\\": \\\"submitted\\\", \\\"state_history_json\\\": \\\"[]\\\"}, {\\\"batch_id\\\": \\\"cn-css-20260910T201737Z-9246151f\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:37Z\\\", \\\"state\\\": \\\"submitted\\\", \\\"state_history_json\\\": \\\"[]\\\"}, {\\\"batch_id\\\": \\\"cn-csss-20260910T201739Z-c8ef3262\\\", \\\"expires\"}"},{"run_id":"20260911011354","stage":"github_auth","status":"ok","end_at":"2026-09-11 01:14:37","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"gh-auth-20260910T184222Z-f8f4c92f\\\", \\\"expires_at\\\": \\\"2026-09-11T18:42:22Z\\\", \\\"recovered\\\": {\\\"ok\\\": 0, \\\"total\\\": 0, \\\"error\\\": \\\"batch-already-consumed\\\"}, \\\"queue_status\\\": \\\"waiting-for-consume\\\", \\\"released_batches\\\": [\\\"gh-auth-001\\\"]}\"}"}]} |