2016-12-09 17 views
1

Google Cloud Platform App Engineで実行されているインスタンスの起動スクリプト変数を編集しました。永遠のスクリプトを呼び出して、自分のノードアプリケーションが動作していることを確認してください。だから私は、コメントを追加しました:#!/ binに/ bashのライン(それは私の命令に基づいて、本当に必要はありませんとしても、CDなしで試してみました)後Google Cloud Platform App Engineスタートスクリプトから永久スクリプトを実行する

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

を。しかし、一旦VMが起動すると、永遠にリストを実行しても、私の永遠のタスクはこれまでに開始したものとは限りません。永遠のコマンドをコピーしてgcloud端末に貼り付けて実行すると、タスクは正常に表示され、私のアプリは何の問題も起きません。

私はこれを何とかbashスクリプト内で何とか呼んでいませんか?

+0

代わりに使用される、あなたは永遠に起動 '実行してみてください、その後app.jsが存在するディレクトリに移動し、することができますapp.js' –

+1

@Ideluca - 偶然したあなたはこれを把握していますか?私は同じ問題を抱えている – Brian

+0

@ブライアン私の答えを参照 – kuzyn

答えて

-1

AppEngineの上ごnodejsアプリは以下documentation

として、あなたのpackage.json"scripts"フィールドを指定することで起動する適切な方法は、しかし、あなたの場合は、このsample

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

から借りた一例であり、ノードスクリプトを実行することにのみ関心があり、Googleアプリケーションエンジンに付属の機能には興味がない場合は、単にGoogle Compute Engineインスタンスで実行するだけです。

+1

これは私が求めているものではありません。 Google Cloud Platformでアプリを起動する方法を知っています。私が把握しようとしているのは、インスタンスの再起動/開始時の起動方法です。手動ではなく – ldeluca

1

The simple answer is that GAE does this by defaultforeverまたはPM2の必要はありません。あなたのアプリを保持しているDockerコンテナでGAEが行う特定の健康チェックがあり、合格しなかった場合、インスタンスは自動的に再開されます。

これらのチェックを細かく制御したい場合はapp.yamlファイル:

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

もまだベータ版である(Updated Health Checksと呼ばれる)のメカニズムが更新されますが、

関連する問題