2016-12-09 1 views
1

Google Cloud Platform App Engine에서 실행중인 인스턴스 중 하나에 대한 시작 스크립트 변수를 편집했습니다. 내 노드 앱이 실행 중인지 확인하기 위해 영원히 스크립트를 호출하고 싶습니다. 그래서 추가 :Google Cloud Platform App Engine 시작 스크립트에서 영구 스크립트 실행

cd /opt/bitnami/apps/myapp 
forever start --workingDir /opt/bitnami/apps/myapp/ --sourceDir /opt 
/bitnami/apps/myapp/ app.js 

를 (또한 나의 명령에 따라 정말 필요가 없습니다으로 CD없이 시도)에 #/빈/bash는 줄 끝!. 그러나 일단 VM이 시작되면 영원히 목록을 실행해도 내 영원한 작업이 시작된 것으로 표시되지 않습니다. 그 영원히 명령을 복사하여 gcloud 터미널에 붙여 넣고 실행하면 작업이 잘 보이고 응용 프로그램이 아무런 문제없이 시작됩니다.

나는 bash 스크립트에서 이것을 어떻게 든 부르지 않습니까?

+0

을 사용할 수 (Updated Health Checks이라고 함)

health_check: enable_health_check: True check_interval_sec: 5 timeout_sec: 4 unhealthy_threshold: 2 healthy_threshold: 2 

도 업데이트됩니다 메커니즘'영원히 시작 app.js' –

+1

@이 델 루카 - 우연히 너 알아 낸거야? 나는 같은 문제가있다 – Brian

+0

@ 브라이언 내 대답을 참조하십시오 – kuzyn

답변

-1

에서 appengine에 nodejs 응용 프로그램을 시작하는 적절한 방법은, 아래 경우에는이 sample

"scripts": { 
    "start": "node ./bin/www", 
    "test": "cd ..; npm run t -- appengine/analytics/test/*.test.js" 
    }, 

에서 빌린 예를 들어 인 documentation

로, 당신의 package.json"scripts" 필드를 지정하는 것입니다 노드 스크립트 만 실행하고 Google 애플리케이션 엔진과 함께 제공되는 기능에는 관심이 없다면 Google Compute Engine 인스턴스에서 간단히 실행할 수 있습니다.

+1

이것은 내가 무엇을 요구하는지가 아닙니다. Google Cloud Platform에서 내 앱을 시작하는 방법을 알고 있습니다. 알아 내려고하는 것은 인스턴스가 다시 시작될 때 시작하는 방법입니다. 수동으로하는 대신. – ldeluca

1

The simple answer is that GAE does this by default. forever 또는 PM2은 필요 없습니다. 당신이 당신의 app.yaml이를 추가 할 수 있습니다 GAE 앱을 들고 도커 컨테이너 않는 특정 건강 진단은, 당신이 (Legacy Health Checks이라고 함)이 검사 세부적으로 제어하려는 경우가 인스턴스를 통과하지 않을 경우 자동으로

를 다시 시작 파일 : 아직 베타 버전이지만, 당신이 실행 해 다음 app.js 존재하고 디렉토리로 이동할 수 있습니다 대신

관련 문제