This seems a good reason to consider the Erlang model, of processes that fail early and exit on any error, with monitor or supervisor process to restart it.
Are there any Clojure libraries that do something like this? I think Akka supports this kind of design.