すべてのプロダクト
Search
ドキュメントセンター

Function Compute:「リクエストを完了する前に予期せず終了したプロセス」というエラーメッセージを含む502エラーが返された場合はどうすればよいですか?

最終更新日:Sep 11, 2024

原因

HTTPサーバー接続が閉じられています。 考えられる原因:
  • キープアライブモードは接続に設定されていません。
  • HTTPサーバーが一定期間アイドル状態のままになると、接続は閉じられます。
  • 読み取り /書き込み操作がタイムアウトするか、エラーが発生すると、接続が閉じられます。

解決策

Function Computeはキープアライブモードを使用して、HTTPサーバーへの接続がカスタムコンテナーで確立されたままになるようにします。 GET、HEAD、OPTIONS、TRACEリクエストなどのべき等要求の場合、EOFconnection reset by peerなどのエラーが発生すると、システムは再試行して接続を確立します。 ただし、POST要求やPATCH要求などのべき非要求の場合、接続が失敗すると502エラーが返されます。 502エラーを防ぐには、カスタムコンテナーを実行するサーバーで次のパラメーターを設定します。
  • 接続モードをキープアライブに設定します。
  • HTTPサーバーのアイドルタイムアウト機能を無効にするか、アイドルタイムアウト時間を15分以上に設定します。

HTTPサーバーフレームワークが異なる場合、前述のパラメーターの設定は異なる場合があります。 たとえば、GoFrameフレームワークの場合、SetIdletimeoutReadTimeout、およびpython uvicornパラメーターを設定する必要があります。 SetIdletimeoutを0に設定し、python uvicornのコマンドラインで -- timeout-keep-aliveパラメーターを設定する必要があります。 キープアライブモードでHTTPクライアントからスパース呼び出しが要求されたときに、HTTPサーバーが切断されているかどうかを確認することをお勧めします。

原因

関数エラーが発生したため, プロセスを終了しました。 考えられる原因:
  • exit操作が呼び出されます。
  • 関数の実行中に発生した例外はキャプチャされませんでした。

解決策

次の操作を実行できます。
  • アクティブな終了ロジックがコードで指定されているかどうかを確認します。
  • ランタイム環境のプロセスの最上位レベルに例外キャプチャまたは上書きメカニズムを追加して、例外が発生したときにプロセスが終了しないようにします。