google-app-engine - 后端 "Process moved to a different machine"并因错误 500 而失败

标签 google-app-engine

我有一个大约需要五分钟才能完成的过程。它在后端实例中每两小时运行一次 cron 作业。

最近进程开始失败;不是每次,而是一天几次。发生的第一件事是内存缓存开始抛出异常:

04:21:13.640 com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError: Service error in memcache
com.google.appengine.api.memcache.MemcacheServiceException: Memcache get: exception getting 1 key (ItemFollowableCompleted:RegionUS:P8XD:0)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:68)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$1.absorbParentException(MemcacheServiceApiHelper.java:109)

这些都不是致命异常,但几秒钟后进程终止,没有警告或关闭消息。日志显示

04:21:30.591 Process moved to a different machine.

和错误 500。

这是与内存缓存相关的谷歌基础架构问题,还是应用代码中的某些内容可能导致该问题?

最佳答案

不,这不是 Google 基础架构中的错误。您的流程预计会在需要时在实例之间移动(维护、您这边的更多需求……),您无能为力。

尽管如此,您可以采取一些措施来减轻这可能对您的应用产生的任何影响。

查看 [1] 中有关如何在实例关闭时跟踪待处理作业的一些建议,并查看后台线程。

我猜你正在使用 Python,如果不是,请寻找你对应的语言。

[1] https://developers.google.com/appengine/docs/python/backends/#Python_Backend_states

关于google-app-engine - 后端 "Process moved to a different machine"并因错误 500 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855488/

相关文章:

python - 如何在Google App Engine中导入Google Cloud语音识别(python)

python - 无法在 Google App Engine 上运行 Flask Debug模式

google-app-engine - 是否可以在 GAE Flexible 自定义运行时中安装 Google Filestore

google-app-engine - Google App Engine 可以在没有外部 IP 的情况下向同一项目中的 Compute Engine 实例发出 http 请求吗?

java - 如何从 Google App Engine 数据存储区 (Java) 正确检索 int?

java - 是否可以从元数据_property_解码属性类

python - GAE支持为Python编写多线程代码吗?

google-app-engine - 在 Google App Engine 中,如何在相互引用的两个实体之间使用引用属性?

python - Google App Engine 在静止期后在页面开头提供虚假内容

java - 如何清除应用程序引擎中的所有内存缓存。 Java环境