               out (io/output-stream (doto (io/file out-path) io/make-parents))]
     (io/copy in out)))
 
+(def  env            nil)
 (def  pod-id         (atom nil))
 (def  worker-pod     (atom nil))
 (def  shutdown-hooks (atom nil))

      ([] (take))
      ([op] (case op :refresh (do (swap) (take)) :shutdown (stop))))))

(defn make-pod
  ([] (init-pod! (boot.App/newPod)))
  ([{:keys [directories] :as env}]
     (let [dirs (map io/file directories)
           jars (resolve-dependency-jars env)]
       (->> (concat dirs jars) (into-array java.io.File) boot.App/newPod init-pod!))))

(defn destroy-pod
  [pod]

                (filter (comp keep? first))
                (map (fn [[k v]] [v (.getPath (io/file outdir k))])))]
    (doseq [[url-str out-path] ents] (copy-url url-str out-path))))

(defn lifecycle-pool
  [size create destroy & {:keys [priority]}]
