0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Scheduler からの HTTP リクエストのタイムアウトに対処する

Posted at

Cloud Scheduler のジョブ実行でこんなエラーに遭遇したことはありませんか?

httpRequest: {
	status: 504
}
jsonPayload: {
	@type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
	debugInfo: "URL_TIMEOUT-TIMEOUT_WEB. Original HTTP response code number = 504"
	status: "DEADLINE_EXCEEDED"
	targetType: "HTTP"
	url: "https://hogehoge-fugafuga-an.a.run.app/"
}

Cloud Run Functions のタイムアウト時間は、(HTTP 関数で)最大 60 分です。

Cloud Functions(第 1 世代)の最大タイムアウト時間は 9 分(540 秒)です。

Cloud Functions(第 2 世代)の最大タイムアウト時間は、HTTP 関数の場合は 60 分(3,600 秒)、イベント ドリブン関数の場合は 9 分(540 秒)です。

だからと言って、Cloud Scheduler が HTTP リクエストの完了を最大で 60 分待ってくれるわけではないようです。

Cloud Scheduler の ジョブ試行のタイムアウト時間は、最大 30 分です。

HTTP ターゲットを使用するジョブの実行の最長時間(開始時刻から終了時刻まで)。この上限を超えるジョブはタイムアウト エラーで終了し、構成された再試行ポリシーに従って再試行されます。

つまり、冒頭のエラーは、HTTP リクエストが完了するまでの時間よりも、設定している Cloud Scheduler のジョブ試行のタイムアウト時間が短いことによるものです。

タイムアウトはデフォルトで 3 分になっており、HTTP リクエストの完了に時間がかかることが想定される場合はコンソールから変更することができます。
https://console.cloud.google.com/cloudscheduler/jobs/edit/asia-northeast1/[job-name]

Cloud Scheduler の試行期限1.png

Cloud Scheduler の試行期限2.png

下記を参考にさせていただきました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?