为什么重新启动我的应用程序?
我的应用程序正在运行,但我看到应用程序实例已重新启动。
当应用程序重新启动时,Code Engine 会自动启动应用程序的新实例。 当新应用程序实例标记为 Ready 时,Code Engine 会将流量路由到该实例。
如果应用程序已重新启动,请确定下列其中一种情况是否为 true。
-
发生了异常,并且未在应用程序源代码中进行处理。
-
Code Engine 系统内存配置受资源约束。 例如,每个实例的内存设置设置过低,因此实例会因内存不足错误而重新启动。 或者,达到临时存储器限制。
-
因为 Code Engine 是完全受管的 IBM Cloud 环境,应用程序和其他 Code Engine 工作负载可能会重定位到其他物理位置; 例如,应用安全修订。 鉴于环境的受管性质,这些类型的更改可以随时发生。 使用已部署的应用程序时,此类型的操作可能会导致应用程序重新启动。
在维护期间,正在运行的应用程序实例将 重定位,这意味着将删除正在运行的实例并创建新的实例。 发生此情况时,重新启动计数将重置为 0。 应用程序实例的寿命是此场景的良好指标。
试试这些解决方案之一。
-
如果发生异常,请执行以下操作。
- 检查可能帮助您确定正在发生的情况的消息。 如果为 Code Engine设置日志记录,那么日志文件可能包含消息。 有关日志记录的更多信息,请参阅 查看日志。
- 更新应用程序源代码并构建更新的容器映像后,通过 更新应用程序 为应用程序创建新修订版。
- 使用应用程序实例的详细视图来帮助您对应用程序进行故障诊断。 使用 Code Engine 控制台来查看应用程序实例的详细信息。 请参阅 获取有关应用程序实例的详细信息。
-
如果应用程序受限于内存资源,请执行以下操作。
- 请注意 Code Engine 限制。 请参阅 Code Engine的限制和配额。 如果需要,请 更新应用程序 以更改应用程序的内存设置。
- 检查应用程序的资源设置并根据需要进行修改。 请参阅 用于部署应用程序的选项。
- 使用应用程序实例的详细视图来帮助您对应用程序进行故障诊断。 使用 Code Engine 控制台来查看应用程序实例的详细信息。 请参阅 获取有关应用程序实例的详细信息。
-
通常,您不能依赖特定应用程序实例在受管 Code Engine 环境中不间断运行。 您可以确保应用程序遵循 12 因子应用程序方法,以避免在这些类型的系统升级期间应用程序停机。 请参阅 为什么我的应用程序停止运行?