tripit: overnight tour-audio fill CronJobs (02:20 + 04:30 retry, Europe/London)
All checks were successful
ci/woodpecker/push/build-cli Pipeline was successful
ci/woodpecker/push/default Pipeline was successful

Viktor's tour-guide redo (tripit#30/#31): narration audio is baked-audio-only
now — the fill-tour-audio worker synthesizes the queued (story, telling,
voice) audio while the tts stack's off-peak window (02:00-06:00) has
Chatterbox scaled up. Two idempotent passes: 02:20 after scale-up + model
load, 04:30 insurance against a skipped window or guard yield. Daytime runs
record tts_unreachable and exit quietly by design.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-11 22:24:11 +00:00
parent 85dbec6108
commit f74e421283

View file

@ -577,6 +577,27 @@ locals {
DAWARICH_BASE_URL = "https://dawarich.viktorbarzin.me"
}
}
# Tour-guide overnight audio fill (tripit#30, ADR-0011): synthesizes the
# narration audio queue against Chatterbox, which the tts stack scales up
# 02:0006:00 Europe/London behind a free-VRAM preflight. 02:20 gives the
# scale-up + first model load headroom; the 04:30 pass re-runs the same
# idempotent worker as insurance (skipped window / mid-window guard yield /
# slow FP16 synthesis). Outside the window the worker records a
# `tts_unreachable` run and exits quietly that is the normal daytime state.
fill-tour-audio = {
schedule = "20 2 * * *"
timezone = "Europe/London"
command = ["python", "-m", "tripit_api", "fill-tour-audio"]
suspend = false
extra_env = {}
}
fill-tour-audio-retry = {
schedule = "30 4 * * *"
timezone = "Europe/London"
command = ["python", "-m", "tripit_api", "fill-tour-audio"]
suspend = false
extra_env = {}
}
}
}