我正在开发一个应用程序,我希望服务器将事件发送到我的 JS 前端,以在处理货币交易时显示它们。我实施的方式按预期工作;但是,几个小时后,我注意到堆增加并因此杀死了我们的服务器。我在某处读到它可能是由于 nginx 配置不正确引起的,但是保持活动设置为仅几秒钟。当有人尝试以下操作时,我还看到了一些关于内存泄漏问题的帖子:
val newTransaction: Enumerator[String] = {
Enumerator.generateM[String] {
Promise.timeout(getNewTransactions, checkingInterval 500)
}
}
...
Ok.stream(newTransaction &> EventSource()).as("text/event-stream")
getNewTransactions 只是一个访问 Redis 以检查帐户是否有新交易到达的方法。
我尝试更新我的项目以使用最新的 Scala 版本 2.10.2,但似乎并没有解决它。与此同时,我正在求助于 JavaScript 轮询,直到我弄明白为止。有谁知道我该如何解决这个问题?