Ich versuche zu verstehen, ob ein fehlgeschlagener Agent automatisch neu gestartet werden kann. Es erscheint nicht so aus meinem Codebeispiel:Kann ein fehlgeschlagener Clojure-Agent automatisch neu gestartet werden?
(def a (agent 0))
(defn h [a e]
(restart-agent a 0))
(set-error-handler! a h)
(send a inc)
;; 1
(send a #(/ % 0))
;; error handler h will be triggered
(send a inc)
;; ArithmeticException Divide by zero (agent didn't restart)
Fehle ich etwas?
Ich markiere dies als die richtige Antwort, da es mir half, die eigentliche Ursache des Problems zu verstehen, was bedeutete, dass ich verstand, warum @ AlanThompsons Antwort (d. H. Mit einer Zukunft) gearbeitet hat. – Integralist