Why I Chose a Synchronous Poll Loop Over Async for My Rust Daemon
rust
dev.to
I built a daemon in Rust that supervises multiple AI coding agents. My first instinct was tokio. Two weeks later, I ripped it out and replaced it with a synchronous loop and std::thread::sleep(). The daemon has been running in production ever since. Here's why. What the daemon does Batty supervises AI coding agents running in tmux panes. Every 5 seconds, it: Polls each pane to detect agent state (idle, working, dead) Delivers queued messages to agents via tmux paste-buffer Dispatc