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

我已经第二次遇到这个问题了,我想知道是否对此有任何解决方案。我正在Google App Engine上运行依赖于通过HTTP JSON RPC与网站进行频繁通信的应用程序。GAE似乎倾向于在日志中随机显示如下消息:

“此请求导致为您的应用程序启动一个新进程,从而导致首次加载您的应用程序代码。因此,与典型的应用程序请求相比,此请求可能会花费更长的时间并使用更多的CPU。”

并重置所有存储在RAM中的变量,而不会发出警告。尽管我增加了应用版本号似乎可以解决此问题,但无论我再次设置变量多少次还是将较新的代码上传到GAE,相同的过程一遍又一遍地进行。

如何获得有关此行为的更多信息,如何避免这种行为并防止Google App Engine上Golang应用程序的数据丢失?

编辑:

RAM中存储的变量是字符串,字节,布尔值和指针的小类。没有什么太复杂或太大。

Google App Engine似乎在大量使用的几秒钟内就“开始一个新的过程”,这应该没有足够长的时间使该应用程序因不被使用而关闭。从将应用程序上载到GAE(已设置变量)到创建新流程之间的时间间隔不到一分钟。


肥皂起泡泡
浏览 241回答 3
3回答

临摹微笑

您是否意识到GAE是一种云托管解决方案,可以根据负载自动管理实例?这是它的主要功能,也是人们使用它的原因。当负载增加时,GAE将创建一个新实例,该实例当然会将所有RAM变量都清空。解决方案是不要期望变量可用,或者不要在请求结束时将它们存储到永久存储(会话,内存缓存,数据存储)中,如果请求的开头不存在变量,则不要加载它们。

三国纷争

如果您希望长时间运行的实例具有驻留内存,则应考虑使用后端。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go