为了账号安全,请及时绑定邮箱和手机立即绑定

GAE Go-“此请求使您的应用程序开始了新流程……”

GAE Go-“此请求使您的应用程序开始了新流程……”

Go
肥皂起泡泡 2021-04-30 08:45:48
我已经第二次遇到这个问题了,我想知道是否对此有任何解决方案。我正在Google App Engine上运行依赖于通过HTTP JSON RPC与网站进行频繁通信的应用程序。GAE似乎倾向于在日志中随机显示如下消息:“此请求导致为您的应用程序启动一个新进程,从而导致首次加载您的应用程序代码。因此,与典型的应用程序请求相比,此请求可能会花费更长的时间并使用更多的CPU。”并重置所有存储在RAM中的变量,而不会发出警告。尽管我增加了应用版本号似乎可以解决此问题,但无论我再次设置变量多少次还是将较新的代码上传到GAE,相同的过程一遍又一遍地进行。如何获得有关此行为的更多信息,如何避免这种行为并防止Google App Engine上Golang应用程序的数据丢失?编辑:RAM中存储的变量是字符串,字节,布尔值和指针的小类。没有什么太复杂或太大。Google App Engine似乎在大量使用的几秒钟内就“开始一个新的过程”,这应该没有足够长的时间使该应用程序因不被使用而关闭。从将应用程序上载到GAE(已设置变量)到创建新流程之间的时间间隔不到一分钟。
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您是否意识到GAE是一种云托管解决方案,可以根据负载自动管理实例?这是它的主要功能,也是人们使用它的原因。

当负载增加时,GAE将创建一个新实例,该实例当然会将所有RAM变量都清空。

解决方案是不要期望变量可用,或者不要在请求结束时将它们存储到永久存储(会话,内存缓存,数据存储)中,如果请求的开头不存在变量,则不要加载它们。


查看完整回答
反对 回复 2021-05-10
?
三国纷争

TA贡献1804条经验 获得超7个赞

如果您希望长时间运行的实例具有驻留内存,则应考虑使用后端


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信