YouTube Board

youtube.live.poll

scheduler disabled local polling disabled active command ready read-only due now
Modern command
youtube:live:poll
Legacy command
/usr/bin/php /home/urtube/maint/get_live.php
Schedule
* * * * *
每分鐘
Evaluation time
2026-05-26 13:03:46 Asia/Taipei
External dependency
Local DB
Write targets
none (read-only live polling queue preview)
Notes
Legacy 從 `urt_video_live` 挑 `mtime` 超過 interval、尚未結束、排程時間已到且未刪除的直播 row;少於 10 筆且未指定 `videoId` 時會直接離開,否則呼叫 YouTube `videos.list(liveStreamingDetails)` 更新 `urt_video_live` 並 upsert `urt_video_live_log.log_json`。Modern command 預設仍只列出 would-poll rows;manual local-only `--execute --videoId/--limit` 會檢查 `YOUTUBE_API_KEY` 後限量呼叫 YouTube,transactionally 更新本機 `urt_video_live` 與 `urt_video_live_log`。Scheduler 在 write allowlist 開啟時使用 scheduled execute command;未開啟仍是 dry-run。

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:live:poll --execute --limit=50

Safe Commands

php artisan ingestion:run --job=youtube.live.poll --at="2026-05-26 13:03:46" INGESTION_SCHEDULER_ENABLED=true php artisan ingestion:run --execute --job=youtube.live.poll INGESTION_SCHEDULER_ENABLED=true INGESTION_LOCAL_POLLING_ENABLED=true INGESTION_SCHEDULED_WRITE_ALLOWLIST=youtube.live.poll php artisan ingestion:run --execute --job=youtube.live.poll

Next Runs

* * * * *

  • 2026-05-26 13:04:00 CST
  • 2026-05-26 13:05:00 CST
  • 2026-05-26 13:06:00 CST
  • 2026-05-26 13:07:00 CST
  • 2026-05-26 13:08:00 CST