7.18. watchdog — Program Supervisor

One Python supervisor for any daslang program that needs to stay up. It restarts the child with bounded backoff, captures crashes into bundles, reports startup progress, and optionally exposes a per-program control page. In-tree it supervises utils/dasllama-server (JIT) and the telegram dictation example (a baked exe).

7.18.1. Quick start

In a deployed bundle, beside the program:

python watchdog.py

From the source tree, point it at the program’s directory:

python utils/watchdog/watchdog.py --cwd utils/dasllama-server

What to supervise resolves in order, first match winning: command-line flags (--program, --script, --name, …); watchdog.json beside watchdog.py (each key sets the default for the same-named flag; unknown keys are a hard error); layout discovery (main.das beside bin/Release/daslangdaslang -jit main.das; exactly one *.exe → that program — anything ambiguous is an error, never a guess).

See also

daspkg — Package Managerrelease_include_from ships the watchdog inside a package release