为什么重新启动我的应用程序?

我的应用程序正在运行,但我看到应用程序实例已重新启动。

当应用程序重新启动时,Code Engine 会自动启动应用程序的新实例。 当新应用程序实例标记为 Ready 时,Code Engine 会将流量路由到该实例。

如果应用程序已重新启动,请确定下列其中一种情况是否为 true。

  1. 发生了异常,并且未在应用程序源代码中进行处理。

  2. Code Engine 系统内存配置受资源约束。 例如,每个实例的内存设置设置过低,因此实例会因内存不足错误而重新启动。 或者,达到临时存储器限制。

  3. 因为 Code Engine 是完全受管的 IBM Cloud 环境,应用程序和其他 Code Engine 工作负载可能会重定位到其他物理位置; 例如,应用安全修订。 鉴于环境的受管性质,这些类型的更改可以随时发生。 使用已部署的应用程序时,此类型的操作可能会导致应用程序重新启动。

    在维护期间,正在运行的应用程序实例将 重定位,这意味着将删除正在运行的实例并创建新的实例。 发生此情况时,重新启动计数将重置为 0。 应用程序实例的寿命是此场景的良好指标。

试试这些解决方案之一。

  1. 如果发生异常,请执行以下操作。

    • 检查可能帮助您确定正在发生的情况的消息。 如果为 Code Engine设置日志记录,那么日志文件可能包含消息。 有关日志记录的更多信息,请参阅 查看日志
    • 更新应用程序源代码并构建更新的容器映像后,通过 更新应用程序 为应用程序创建新修订版。
    • 使用应用程序实例的详细视图来帮助您对应用程序进行故障诊断。 使用 Code Engine 控制台来查看应用程序实例的详细信息。 请参阅 获取有关应用程序实例的详细信息
  2. 如果应用程序受限于内存资源,请执行以下操作。

  3. 通常,您不能依赖特定应用程序实例在受管 Code Engine 环境中不间断运行。 您可以确保应用程序遵循 12 因子应用程序方法,以避免在这些类型的系统升级期间应用程序停机。 请参阅 为什么我的应用程序停止运行?