Thanks for the info. Looks like your noir-async was what I'm after. I followed your example with (async-push "chunk one") but it's throwing an error from inside the (close conn) call:
clojure.lang.ArityException: Wrong number of args (1) passed to: core$async-push
at clojure.lang.AFn.throwArity(AFn.java:437)
at clojure.lang.AFn.invoke(AFn.java:39)
at noir_async.core$close.invoke(core.clj:85)
at data_spew.views.spew$fn__11465$na_aleph_handle_inner__11468.invoke(spew.clj:8)
at aleph.http$wrap_aleph_handler$fn__9691.invoke(http.clj:71)
at compojure.response$fn__10118.invoke(response.clj:26)
at compojure.response$fn__10095$G__10090__10102.invoke(response.clj:10)
at data_spew.views.spew$fn__11465.invoke(spew.clj:6)
at compojure.core$if_route$fn__10197.invoke(core.clj:39)
at compojure.core$if_method$fn__10190.invoke(core.clj:24)
at compojure.core$routing$fn__10212.invoke(core.clj:98)
at clojure.core$some.invoke(core.clj:2388)
at compojure.core$routing.doInvoke(core.clj:98)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:602)
at compojure.core$routes$fn__10216.invoke(core.clj:103)
at noir.server.handler$init_routes$fn__11376.invoke(handler.clj:93)
at noir.request$wrap_request_map$fn__11267.invoke(request.clj:14)
at hiccup.middleware$wrap_base_url$fn__11027.invoke(middleware.clj:12)
at noir.session$noir_flash$fn__11292.invoke(session.clj:104) ....
Looking at the close function, it calls async-push without a conn, but that's just my dumb analysis.