【发布时间】:2020-02-25 03:10:09
【问题描述】:
我在 Heroku 上部署了一个 Meteor 应用程序,但它突然崩溃了。我收到了
at=error code=H13 desc="Connection closed without response" method=GET path="/sockjs/info?cb=e2h8vk74gt" host=HOST request_id=89b5ceee-cb5e-48f2-94b9-7c2b8d833c96 fwd=IP dyno=web.1 connect=0ms service=22948ms status=503 bytes=0 protocol=https
at=error code=H12 desc="Request timeout" method=GET path="/sockjs/info?cb=lzf11s02bu" host=HOST request_id=289d7fda-27a2-470d-8ae5-c3e41c0be7d4 fwd=IP dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https
Error R14 (Memory quota exceeded)
错误。
H13 错误似乎意味着只要请求“/sockjs/inf?cb=xyz”路径,服务器就会停止响应。我将其视为 Meteor 的套接字编程失败(sockjs)。似乎“cb”参数在执行请求后进入回调。此应用确实会发出 API 请求。
H12 可能会因为服务器超时而有意义。
我相信 R14 可能与这些错误有关,因为当失败的请求不断堆积时,超出了内存配额。
我已尝试在本地重现此问题。如果应用程序无法通过 Web API 进行身份验证,我有时会看到 H12 sockjs 错误,但无法深入了解它们并查看到底发生了什么(它只是进入实际的框架代码)。但是,我还没有让服务器在本地崩溃。这让我相信这可能与 Heroku 配置有关。有什么见解吗?
https://imgur.com/rYzagqA 是我的 localhost sockjs 错误的屏幕截图,您可以在其中看到 xhr reqs 失败。但是,我不知道如何判断该请求到底是什么(无论是实际的 API 调用还是路由器在做某事)
在 localhost 我也见过 '到 'ws://localhost:3000/sockjs/394/inx5dfkh/websocket' 的 WebSocket 连接失败:在建立连接之前 WebSocket 已关闭。 WebSocketTransport.doCleanup @ sockjs-0.3.4.js:1300' 任何人都知道我该如何找出究竟是什么原因造成的?
【问题讨论】:
标签: javascript debugging heroku meteor sockjs