{ "updated_at": "2026-07-16T10:09:28Z", "channel": { "id": "UCp5CgkVkHtB5Kyfv71SFiqw", "title": "Dev Rajput", "subscriber_count": 4, "video_count": 175, "view_count": 2162 }, "last_run": { "pipeline": "news", "started_at": "2026-07-16T10:00:06Z", "finished_at": "2026-07-16T10:09:27Z", "status": "success", "duration_seconds": 561.4, "video_url": "https://www.youtube.com/watch?v=tzqN6OqO_U0", "video_title": "Counting Bees 11 to 20", "error": null, "stage_timings": {} }, "next_run_at": "2026-07-16T13:00:00Z", "schedule": { "monday": "14:00 IST", "tuesday": "14:00 IST", "wednesday": "15:30 IST", "thursday": "15:30 IST", "friday": "15:30 IST", "saturday": "17:00 IST", "sunday": "17:00 IST" }, "totals": { "runs_attempted": 205, "runs_succeeded": 177, "videos_published": 177 }, "backfill": { "ran_at": "2026-05-14T14:09:36Z", "source": "data/published_log.json", "notes": "Each entry in published_log is a confirmed YouTube upload. duration_seconds=0 because the log only records the upload time, not the full pipeline duration. Going forward, live_status.py records exact timings." }, "schedules": { "news": { "monday": "14:00", "tuesday": "14:00", "wednesday": "15:30", "thursday": "15:30", "friday": "15:30", "saturday": "17:00", "sunday": "17:00" }, "teaching": { "monday": "10:30", "tuesday": "10:30", "wednesday": "10:30", "thursday": "10:30", "friday": "10:30", "saturday": "11:30", "sunday": "11:30" }, "shorts": { "monday": "18:30", "tuesday": "18:30", "wednesday": "18:30", "thursday": "18:30", "friday": "18:30", "saturday": "18:30", "sunday": "18:30" } }, "pipelines": { "news": { "last_run": { "pipeline": "news", "started_at": "2026-07-16T10:00:06Z", "finished_at": "2026-07-16T10:09:27Z", "status": "success", "duration_seconds": 561.4, "video_url": "https://www.youtube.com/watch?v=tzqN6OqO_U0", "video_title": "Counting Bees 11 to 20", "error": null, "stage_timings": {} }, "next_run_at": "2026-07-17T10:00:00Z", "totals": { "runs_attempted": 45, "runs_succeeded": 42, "videos_published": 42 } }, "teaching": { "last_run": { "pipeline": "teaching", "started_at": "2026-07-16T05:00:25Z", "finished_at": "2026-07-16T05:09:14Z", "status": "success", "duration_seconds": 528.4, "video_url": "https://www.youtube.com/watch?v=NRM4u-jhp3E", "video_title": "AI #41: Deeper Networks Are Smarter Networks", "error": null, "stage_timings": {} }, "next_run_at": "2026-07-17T05:00:00Z", "totals": { "runs_attempted": 44, "runs_succeeded": 41, "videos_published": 41 } }, "shorts": { "last_run": { "pipeline": "shorts", "started_at": "2026-07-15T13:00:15Z", "finished_at": "2026-07-15T13:01:12Z", "status": "success", "duration_seconds": 57.7, "video_url": "https://www.youtube.com/watch?v=GSERkHKEn9w", "video_title": "3 Heart Attacks #Shorts", "error": null, "stage_timings": {} }, "next_run_at": "2026-07-16T13:00:00Z", "totals": { "runs_attempted": 43, "runs_succeeded": 40, "videos_published": 40 } } }, "health": { "youtube_token": "ok", "detail": null, "checked_at": "2026-07-16T10:09:27Z" } }