【完全保存版】Cloud SchedulerのDEADLINE_EXCEEDEDエラーについて
本日は、GCPのCloud SchedulerのDEADLINE_EXCEEDEDエラーについて紹介していきます。
1 Cloud Functionでの関数の作成
下のような関数を作成します。
後ほど出てきますが、「res」がないため、「Cloud Scheduler」ではエラーになることになります。
では、テスト自体はできるかを見てみましょう。
「テスト中」で「CLOUD SHELLで実行」を選択します。
自分の認証情報を使用する旨が表示されるため、問題なければ、「承認」を選択します。
「Enter」で実行すると、このような状況になります。
(Responseを設定していないので、特に変化は見られません。)
ログを見てみると、下のように、「Hello World!!」と返ってきていることがわかりました。
2 Cloud Schedulerの作成と実行
では、「Cloud Scheduler」で今できた「Cloud Function」を設定し、「強制実行」を行います。
(やり方が不明の場合は、こちらの記事をご確認ください。)
すると、かなり時間が経過した後、下のように、「失敗」となりました。
3 ログの確認
では、「ログを表示」からログを見てみましょう。
すると、下のように、「DEADLINE_EXCEEDED」となっていることが確認できました。
検索すると、下のようにタイムアウト時間内にレスポンスが取得されなかったことを示しているようです。
つまり、レスポンスは必ず返さないと、このエラーが出てしまうことがわかりました。
4 Cloud Functionの修正
では、「Cloud Function」に下のように、レスポンスをつけてみましょう。
再度実行すると、下のようにうまくいくことがわかりました。
今回は以上です。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊