问题标签 [lamina-clojure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - Lamina 撤消虹吸管 - Clojure
我正在使用Lamina来实现基本的 pubsub 模式。
当客户端订阅一个主题时,我channel
为它创建一个新主题(如果它不存在),然后siphon
将它添加到客户端的channel
. 但是,我不知道如何扭转这个让客户退订。我一直在搜索文档和谷歌搜索,但找不到任何东西。
我如何撤消所做siphon
的操作?
node.js - 使用 Aleph/Lamina 异步访问 MongoDB
我一直在阅读有关 Clojure 的文章,我正在考虑将它作为 Node.js 的替代品(我已将其用于另一个项目)。最有前途的库似乎是 Aleph/Lamina,不幸的是,它没有 Node.js 那么多的示例。我的问题是:
如何使用一系列异步操作处理请求,例如从 MongoDB 读取文档、进行一些计算、保存新文档并在响应中发送?我无法从 Lamina wiki 页面中的示例中编写它。这听起来像是一个很常见的用例,我很惊讶没有找到任何显示它的代码。如果您能给我看一些示例代码,那就太好了。
这种设置是否足以用于重负载服务器(例如每秒数万个请求)?我无法为每个新请求创建一个线程,所以我需要类似于 Node 方法的东西。
有没有中型或大型公司使用这些的例子?
有没有更好的 Clojure 替代 Node(除了 Aleph/Lamina)?也许 Clojurescript 以 Node 为目标?我的客户端不是用 Javascript 编写的,因此在客户端和服务器中使用相同的语言对我来说并不是一个优势。
谢谢!
web-services - Clojure 中 Web 服务的异步作业队列
目前,我正在尝试使用 RESTful API 构建一个 Web 服务,以处理一些长时间运行的任务(作业)。
这个想法是用户通过执行 POST 提交作业,该 POST 返回一些用于检查作业状态的 URL,其中还包含结果的 url。一旦作业完成(即某些值被写入数据库),结果 URL 将返回适当的信息(而不是没有结果)并且作业 url 将指示完成状态。
不幸的是,计算非常密集,因此一次只能运行一个,因此需要对作业进行排队。
在伪中需要这样的东西
我研究了允许异步处理的Lamina,但它似乎不适合我的需要。
我的问题是如何使作业队列出队并在前一个任务完成后执行其任务,而不在队列为空时终止,即永久处理传入的作业。
clojure - Lamina 批处理队列
我正在尝试编写一个接受请求的 Web 服务,将它们放入队列中,然后分 2 批处理它们。响应可以立即发送,我正在尝试按如下方式使用 Lamina(尽管不确定这是正确的选择)...
但这不起作用...... :(我已经阅读了所有的 Lamina 文档,但不知道如何使用这些渠道。任何人都可以确认 Lamina 是否支持这种行为并就可能的解决方案提供建议?
events - 拉米纳 vs 风暴
我正在设计一个原型实时监视器,用于处理相当大量(>30G/天)的流式数字数据。我想用 Clojure 写这个,因为这种语言似乎很适合这种“观察者 + 状态机”系统,这可能最终会成为。
我为框架找到的两个主要候选者是 Lamina 和 Storm。还有 Riemann 和 Pulse,但前者似乎更像是一个完整的解决方案而不是一个框架,我宁愿不承诺最终设计;Pulse 的 repo 看起来有点无人维护?
我想知道的是;这两个项目针对什么样的数据和工作流程进行了优化?Storm 似乎更成熟,但 Lamina 似乎更可组合和“Clojureic”(我的背景是 Python,所以我倾向于高度评价它)。
我从网上阅读中发现:
Storm 似乎专注于大数据(流),核心是带有 Clojure DSL 的纯 Java。它似乎为许多现有数据源预先构建了处理程序。
Lamina 更像是一个轻量级的、可重用的组件,它执行 Clojure 对抽象进行编码的事情,这意味着它可以被重用为其他事件系统的基础。数据源需要在代码中处理。
两者都有一组有用的聚合/拆分/计算库函数开箱即用。Lamina 的 graphviz 集成是一个不错的选择。
clojure - 如何将 lamina / aleph 安装到 Clojure?
目前,我在 Java 1.6.0_45 上使用 Leiningen 2.1.3
Clojure 1.5.1 连接 LightTable IDE 0.4.11
我想安装lamina,但是看着 Installation-
[叶片“0.5.0-rc3”]
对我来说没有意义,因为我还很新。
请建议如何安装,以及图书馆管理系统的一些好资源。
谢谢!
clojure - Clojure 使用 Lamina 的函数式反应式编程 (FRP):简单的时钟代码?
我正在使用Lamina来实现函数式反应式编程 (FRP)。
作为初学者,我尝试编写一个非常简单的时钟,以了解库的基础知识。
根据 Lamina 0.5.0-rc4 API 文档,有 lamina.time API:http: //ideolalia.com/lamina/lamina.time.html#var-now
我想实现一个非常简单的时钟,其中:
每秒的间隔作为 Observable 时间 Streaming Collection/List/Seq (我还不太明白其中的区别)(编辑:现在我知道它在 Lamina上称为Channels )
现在作为 Observable Streaming 数据
Println Now on every second (subscribe or for-each Observable time Collection)
欢迎任何反馈。谢谢。
编辑:我退出了。
经过一番研究,我得出结论,编写 FRP 代码的最佳方式是带有 RxJs 的 ClojureScript(来自 MS 的 ReactiveExtention)。
在我的相关问题中查看 ClojureScript + RxJs + node.js 的示例代码: ClojureScript on node.js, code
clojure - Clojure core.async 和 Lamina
core.async 是 Lamina 的替代品还是打算成为 Lamina 的替代品?
如果不是,是否存在明显的情况,其中一种优于另一种?