scheduler disabled
local polling disabled
active
command ready
read-only
due now
- Modern command
youtube:tvbs:live:poll
- Legacy command
/usr/bin/php /home/urtube/maint/get_live_tvbs.php
- Schedule
* * * * *每分鐘 read-only preview;legacy file 本身是 while(1) + sleep(30),未列在目前 cron snapshot
- Evaluation time
- 2026-05-26 11:58:03 Asia/Taipei
- External dependency
- Local DB
- Write targets
-
none (read-only TVBS live polling queue preview)
- Notes
- Legacy TVBS poller 從 `urt_video_live_tvbs` 挑 `mtime` 超過硬編碼 40 秒、尚未結束、排程時間已到且未刪除的直播 row,呼叫 YouTube `videos.list(liveStreamingDetails)` 後更新 `urt_video_live_tvbs` 並 upsert `urt_video_live_log_tvbs.log_json`。Modern command 預設仍只列出 would-poll rows;manual local-only `--execute --videoId/--limit` 會檢查 `YOUTUBE_API_KEY` 後限量呼叫 YouTube,transactionally 更新本機 `urt_video_live_tvbs` 與 `urt_video_live_log_tvbs`。Scheduler 不傳 `--execute`,仍是 dry-run。`videoId` branch 在 legacy source 意外查 `urt_video_live`,modern implementation 保持 TVBS table scope 並記錄 compatibility note。
Execution Guardrail
This job is read-only, active, command-ready, and allowed to execute when its cron expression is due. Scheduler execution still requires INGESTION_SCHEDULER_ENABLED=true.
Scheduled Local Polling
Scheduler-enabled local polling is blocked for this job until every explicit gate is satisfied.
- INGESTION_LOCAL_POLLING_ENABLED is false.
- Job key is not in INGESTION_SCHEDULED_WRITE_ALLOWLIST.
- Production polling is not explicitly enabled.
youtube:tvbs:live:poll --execute --limit=1
Safe Commands
php artisan ingestion:run --job=youtube.tvbs.live.poll --at="2026-05-26 11:58:03"
INGESTION_SCHEDULER_ENABLED=true php artisan ingestion:run --execute --job=youtube.tvbs.live.poll
INGESTION_SCHEDULER_ENABLED=true INGESTION_LOCAL_POLLING_ENABLED=true INGESTION_SCHEDULED_WRITE_ALLOWLIST=youtube.tvbs.live.poll php artisan ingestion:run --execute --job=youtube.tvbs.live.poll
Next Runs
* * * * *
- 2026-05-26 11:59:00 CST
- 2026-05-26 12:00:00 CST
- 2026-05-26 12:01:00 CST
- 2026-05-26 12:02:00 CST
- 2026-05-26 12:03:00 CST