Advertisement
Guest User

Untitled

a guest
May 14th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (def worker
  2.   (go-loop []
  3.     (let [job (<! queue)]
  4.       (println job)
  5.       (job) ;; here throw exception
  6.       (if (nil? job)
  7.         (println "queue finished")
  8.         (recur)))))
  9.  
  10. ;; so now add job for worker
  11. (add-job #(throw (ex-info "foo" {:test 1})))
  12.  
  13. ;; this will break go-loop and worker gone. How to avoid it? Only try and catch? Better pattern?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement