watchdog.py is a persistent Python process that monitors your channel queue, manages scheduling, handles errors, and recovers from failures -- all without any input from you after the initial python watchdog.py command.

The Main Loop

The watchdog runs on a 24-hour cycle. At the start of each cycle, it reads the channel list and checks which channels are due to post. It calculates the target upload time for each channel (staggered to manage API quota), then waits until each scheduled time before triggering the relevant channel's post script.

Set once, run forever
One Command: python watchdog.py -- Then Leave It
The watchdog handles posting, retry, quota management, and logging. No daily oversight required.
Get the Machine --

Error Recovery Logic

When an upload fails, the watchdog does not stop the entire machine. It logs the failure, adds the channel to a retry queue, and continues with other channels. Failed channels are retried after 30 minutes. Quota errors defer to the next quota window (6 hours). Network errors retry after a 2-minute wait. This tiered recovery logic means the machine self-heals from almost any failure state without your involvement.