【发布时间】:2016-02-13 02:31:33
【问题描述】:
假设我有一个计算语料库,我想使用 core.async 异步运行,但不幸的是,其中一些函数依赖于 other 函数的输出。如何在我的代码中清晰地构建它,同时获得最佳性能?
我遇到的一些潜在解决方案是
-
Prismatic's Graph - 看起来很合理,虽然我没有用 core.async 通道测试过它;它需要使用
fnk的事实对我来说有点令人反感,因为它需要购买他们的 DSL 来进行函数定义,但如果这是最好的解决方案,那么我不介意。 - Javelin cells - 仅适用于 ClojureScript(目前)并使用 FRP 而不是 CSP 作为实现,但它在通过公式单元格对计算之间的依赖关系建模方面做得非常好。
- Onyx - 用于分布式计算(作为 Apache Storm 的竞争对手等),但具有处理计算之间的依赖关系并与 core.async 一起使用的“工作流”抽象。这似乎最适合我的问题域,但我不确定是否需要所有集群管理功能的开销。
这个问题的典型解决方案是什么?
编辑:添加 Onyx
【问题讨论】:
-
promise 可以工作吗?
标签: clojure core.async