Skip to content

Instantly share code, notes, and snippets.

@lbradstreet
Created November 28, 2016 04:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lbradstreet/5755441a084b7e7420eeb93ddf1099cf to your computer and use it in GitHub Desktop.
Save lbradstreet/5755441a084b7e7420eeb93ddf1099cf to your computer and use it in GitHub Desktop.
(defn after-batch [{:keys [onyx.core/results onyx.core/task] :as event} lifecycle]
(let [tree-new (mapv (fn [{:keys [root leaves] :as message}]
(assoc message
:leaves
(mapv (fn [leaf]
(let [input-segment-context (:onyx/context (:message root))
output-segment-context (:onyx/context (:message leaf))
context-path {:path (conj (vec (:path input-segment-context)) task)}]
(assoc-in leaf
[:message :onyx/context]
(merge input-segment-context
output-segment-context
context-path))))
leaves)))
(:tree results))
segments-new (doall (mapcat :leaves tree-new))]
{:onyx.core/results (assoc results :tree tree-new :segments segments-new)}))
(def middleware-calls
{:lifecycle/after-batch after-batch})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment