내 앱이 다시 시작된 이유는 무엇입니까?

내 앱이 실행 중이지만 앱 인스턴스가 다시 시작되었음을 확인합니다.

애플리케이션이 다시 시작되면 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요소앱 방법론 을 따르는지 확인하여 앱의 중단 시간을 방지할 수 있습니다. 내 앱이 실행을 중지한 이유 를 참조하십시오.