私はJavascriptの4.3ランタイムで2つのラムダ関数を使用しています。私は最初に実行し、それは2番目の同期を呼び出します(同期はインテントです)。問題は2回目のタイムアウト(60秒)ですが、実際にはわずか22秒で終了します。ラムダコールバックコール後にタイムアウトする
ラムダ関数 I午前、もはやためCloudWatchのログを取得するが、本当の問題は、(私が思う)機能Bです回:ここ
は2つのラムダ関数との間の流れです何の理由もありません。 : - - 上記の「成功」のログ文は画像に表示されて含まれ、以下に含まれている終わりにファンクションBのコード:ここで
はこれを説明するためにいくつかのCloudWatchのログをですは、もともと私はあなたがOオフsucceed()
と呼ばnodejs 0.10.x
方法をcallback(null, 'successful ...')
ラインを有しておりませんコンテキスト。必死で私は両方を加えましたが、結果は同じです。
誰もが何が起こっているのか考えていますか?私はこれをデバッグすることができますどのような方法ですか? AとBとの間の呼び出しロジックは、Bがで開始状態の違いを場合
は、ここで呼出しです:
私はまだラムダ+ノード4.3のハングを取得していますが、[context.callbackWaitsForEmptyEventLoop = false;](https://aws.amazon.com/blogs/compute/)を設定しています。 node-js-4-3-2-runtime-now-on-lambda /)は、私が遭遇したものに似ている場合、あなたが見ているものの回避策になるかもしれません - 私はmysql接続を持っていました切断され、イベントループは空ではありませんでした。示されているように値を設定すると、問題が判明しました(run-until-timeoutを「修正」することによって)。その証拠を踏まえて、私はその接続を閉じることで正しく解決することができました。その時点で回避策は必要なくなりました。 –
それは私が従うことができるスレッドだと思う。 4.3コールバックが何をしているのかの機能的なバリエーションを忘れていました。ありがとう!注:私はこの質問をAWSに落とし、多くの人々がこの問題を抱えていると言いました。また、多くの人々が0.10に戻って問題を解決したと言いました。それは私のために働いたが、明らかにこれは素晴らしい解決策ではない。というのも、私はむしろ優雅に/制御されたやり方で閉じようとするオープンなつながりがあるということだ。 – ken