open_notebook/scripts
dschlueter 5b389fae58 Guard against stopping the stack while a podcast is running
Stopping the stack kills an in-flight podcast job, but its status stays "running"
in the database forever: it never finishes, it blocks prune_podcast_data.py (which
deliberately refuses to run while a job is active), and it cannot even be retried —
/retry only accepts episodes in state "failed".

I walked into this myself: I ran `docker compose down` for the non-root switch
without checking for running jobs, and killed a podcast that had already produced
37 clips.

update_stack.sh now refuses to start when a podcast job is running, and says why.
Verified against a genuinely running job: it aborts before touching the stack.

BEDIENUNGSANLEITUNG documents how to recover an existing zombie. The status does not
live on the episode but on the linked `command` record (the episode's own job_status
is null), so the fix is to set that record to 'failed' via SurrealDB, after which the
normal retry works.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 15:29:14 +02:00
..
add_video_source.py Add audio fallback so videos without captions work 2026-07-11 13:49:42 +02:00
check_updates.sh Pin images by digest; add update, smoke-test and status scripts 2026-07-11 14:12:31 +02:00
prune_podcast_data.py Run containers as the host user instead of root 2026-07-11 15:14:47 +02:00
setup_models.sh Add README.md, BEDIENUNGSANLEITUNG.md, and setup/start scripts 2026-07-10 23:50:58 +02:00
smoke_test.sh Run containers as the host user instead of root 2026-07-11 15:14:47 +02:00
start_services.sh Fix two podcast failures: dead TTS server after reboot + CUDA OOM 2026-07-11 13:02:32 +02:00
update_stack.sh Guard against stopping the stack while a podcast is running 2026-07-11 15:29:14 +02:00