【问题标题】:Google App Engine NodeJS app stops after 30 minGoogle App Engine NodeJS 应用程序在 30 分钟后停止
【发布时间】:2021-08-29 21:45:36
【问题描述】:

我在 Google App Engine 上托管了一个非常基本的 NodeJS 应用程序,它每隔 15 秒执行一次异步函数。部署成功,应用程序启动并运行良好,但在大约 30 分钟后停止并显示以下错误日志。不过,这在本地运行良好。

在终止信号时退出

启动程序失败:用户应用程序失败,退出代码为 -1(有关详细信息,请参阅 stdout/stderr 日志):信号:终止

我之前使用过 App Engine 没有任何问题,所以我不确定为什么会发生这种情况。我使用https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/main/appengine/typescript 作为参考,但仍然无法解决此问题。有什么想法吗?

【问题讨论】:

    标签: node.js google-app-engine


    【解决方案1】:

    在终止信号时退出

    如果您的 App Engine 实例由于某些reasons 而缩小或关闭,您可能会收到此错误消息,并且可能是由于:

    1. 您的应用程序已用完 Instance Hours 配额。
    2. 您的实例被移动到另一台机器上,原因可能是正在运行实例的当前机器重新启动,或者 App Engine 移动了您的实例以改善负载分布。

    good strategies 可以避免您的实例停机,以下是额外的:

    1. 你可以试试minimum number of idle instances

    2. 使用manual scaling可以指定实例数 无论负载水平如何,都将持续运行。

    3. 增加maximum instance

    不建议在 App Engine 中使用异步后台工作。它可能会导致更高的计费,并且用户也可能会因为高推回或请求排队而经历增加的延迟。谷歌推荐使用Cloud Tasks。使用 Cloud Tasks,HTTP 请求是长期存在的,并且仅在任何异步工作结束后才返回响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      相关资源
      最近更新 更多