2017-08-11 14 views
1

トランザクションキャッシュをメモリに保持するノードアプリケーションがbluemixにあり、アプリケーションがダウンする前にこのキャッシュをDBにフラッシュします。だから私はSIGTERM/SIGINTシグナルを傍受するための適切なイベントハンドラを持っていますが、私のラップトップから正常に動作しますが、cf stopコマンドが正常なシャットダウンを実行しないようです。cf stopコマンドは、bluemixで正常なシャットダウンを実行しません。

残念ながら、このトピックの周りに明確なドキュメントはありません。最初のSIGTERMが発行され、その後10秒間待たされますが、これは起こっていないと言われるcloudfoundaryアプリライフサイクル文書の1か所にあります。おそらく彼らの側のバグ。 https://docs.cloudfoundry.org/devguide/deploy-apps/app-lifecycle.html

誰もがこの問題に気づいていて、おそらく回避策がありますか?

+0

ホスト上での素晴らしい停電は、どちらも優雅ではありません。プラットフォームは自動的に、どこか他の場所で、nice cf stopをせずに再起動します。 – amadain

答えて

2

CFが最初にSIGTERMを送信していますが、他のプロセスからアプリが起動されているため、アプリに正しく伝播されていません。

回避策として、CF環境変数BLUEMIX_APP_MGMT_INSTALL=falseを設定してapp Managementを無効にし、package.jsonファイルのアプリの開始コマンドに「exec」(たとえばexec node app.js)を付けます。

関連する問題