程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了服务器发送事件未在 Google App Engine 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决服务器发送事件未在 Google App ENGIne 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题?

开发过程中遇到服务器发送事件未在 Google App ENGIne 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题的问题如何解决?下面主要结合日常开发的经验,给出你关于服务器发送事件未在 Google App ENGIne 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题的解决方法建议,希望对你解决服务器发送事件未在 Google App ENGIne 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题有所启发或帮助;

目标

我需要我的后端向我的客户推送几个答案,我需要 puppeteer 来运行后端。 Puppeteer 需要一些时间来工作,但有定期的中间结果,应该定期向客户端发送更新(总共,一个请求-响应s-cycle 需要不到 60 秒,这似乎是GAE)。

潜在的 GAE 问题:
  • Websocket 不适用于标准环境。
  • Puppeteer does not work with the flex environment.

主要问题

因此,我重新实现了我的代码以使用服务器发送的事件(基于 http)。我希望这能按标准工作。它在本地运行良好。它不适用于生产。 它最终会回答客户端,但只有当我关闭连接服务器端然后一次性发送所有内容时。它不会定期更新客户端。 这只会发生在 GAE 上,不会发生在本地。

我尝试了什么?

我确实刷新了 sse-response,否则压缩 nodeJs 库 leads to a similar behaviour

我也设置了这些标题,尤其是。 X-Accel-Buffering,取自 here:

@H_772_25@res.setheader('Access-Control-Allow-Origin',"*");
res.setheader("X-Accel-Buffering","no");
res.setheader('Cache-Control','no-cache');
res.setheader('Content-Type','text/event-stream');
res.setheader("Access-Control-Allow-Origin","*");   
res.setheader('Connection','keep-alive');

问题

如何让服务器发送的事件与 GAE 上的 nodeJs 和 puppeteer 一起工作? 或者,有没有人找到任何回答方式(弹性或标准或 GAE 中的任何其他方式)ONE客户端请求(可以是 http get、sse、websockets),随着时间的推移有几个服务器响应并且有 puppeteer 运行?这个 google-groups 聊天既表明 SSE 有效,也表明使用 Pusher。 Pusher 是带有 angular 客户端的 GAE 和 nodeJs 的替代品吗?如果我经历了使用 docker 镜像进行 GAE-flex 的“痛苦”(对我来说,我是经验不足的全栈开发人员,也不想做 ops),那会奏效吗?有没有我可以更改的设置,而不是“缓冲”响应服务器端?

解决方法

@H_944_36@
  1. 您当地的 GAE [标准] 环境不是 GAE 生产的精确复制品或模拟。如果您使用 GAE Python2 标准,则尤其如此。你应该记住这一点。我知道这一点,因为我也遇到过服务器发送事件的这个问题。这意味着在开发环境中有效的东西在生产环境中可能无效,因此请务必先确认 GAE 文档中哪些有效,哪些无效。

  2. GAE 标准不支持 SSE 本质上的流媒体。此外,App ENGIne 标准对每个请求的截止时间为 1 分钟,即作为标准应用的一部分对 App ENGIne 的每次调用都必须在一分钟内返回

  3. 我不认为 GAE Flexible 有这些限制,所以您应该尝试一下。请参阅此 link,其中讨论了标准和灵活之间的差异。几年前遇到这个问题时(尝试在 Python 上执行 SSE),我最终切换到 Compute ENGIne 并执行 PubSub,但还有其他原因选择了这条路线,而不是尝试 GAE Flexible

大佬总结

以上是大佬教程为你收集整理的服务器发送事件未在 Google App Engine 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题全部内容,希望文章能够帮你解决服务器发送事件未在 Google App Engine 上发送,但在本地工作正常。如何从服务器发送多条消息? 目标主要问题我尝试了什么?问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:EngineGoogle