From f69feef13b3d94646bde6acfe9f651843b5db62b Mon Sep 17 00:00:00 2001 From: JT Knabenschuh Date: Fri, 24 Feb 2017 23:10:23 +0100 Subject: [PATCH] Call handler with worker pool --- src/cljs_workers/core.cljs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/cljs_workers/core.cljs b/src/cljs_workers/core.cljs index ef625de..95034c5 100644 --- a/src/cljs_workers/core.cljs +++ b/src/cljs_workers/core.cljs @@ -59,3 +59,19 @@ (catch js/Object e (when fun (fun {:state :error, :error e})))))) + +(defn do-with-pool! + ([pool request] + (do-with-pool! pool request nil)) + + ([pool {:keys [handler arguments transfer] :as request} fun] + (go + (let [worker + (! pool worker)) + (when fun (fun response)))] + + (do-with-worker! worker request fun)))))