在Google App Engine中运行的应用失败,尝试ah_start几分钟,然后重新启动

时间:2020-08-16 20:16:29

标签: google-app-engine

我有一个在App Engine中运行的消息处理器任务。很多时候它似乎都死了,然后进入很长一段时间(数分钟)的日志以尝试进行ah_start,然后最终重新启动。

此任务响应消息队列中的消息,然后将这些消息中的数据写入mySql数据库。

从对数直方图来看,该任务似乎处于15分钟的周期内,在其中工作了一段时间,然后执行了ah_start循环,然后又恢复工作。

当我开始发送大量消息要处理时,它会失去消息,这对于生产环境而言并非最佳情况。

我真的不知道该在哪里检查发生了什么。

很抱歉,但我搜索无法找到关于如何使用_ah / start进程的详细信息。很好地链接到说明和示例将很有价值。

我的过程很简单, 启动 等待消息 在数据库中存储数据 确认信息 返回以等待下一条消息

这是我的app.yaml文件的副本:

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10


service: message-processor

runtime: nodejs10


env_variables:
  BUCKET_NAME: "stans_temp"

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /.*
  secure: always
  redirect_http_response_code: 301
  script: auto

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我将从纠正app.yaml中的语法错误开始。

如我所见:runtime: nodejs10并且没有env: flex设置,这似乎是App Engine标准环境。 (app.yaml for standard reference

不过,我看到您的resources设置仅适用于App Engine Flexible。 (app.yaml for flexible reference

App Engine Flex和App Engine Standard实际上是两种不同的产品,因此您需要确定要使用哪一种。您可能会找到关于here的文章。这可能是原因,我什至对此部署成功感到惊讶。