[アップデート]Cloud Run jobsのタスクのタイムアウト時間上限が7日間になりました(プレビュー)

[アップデート]Cloud Run jobsのタスクのタイムアウト時間上限が7日間になりました(プレビュー)

Clock Icon2024.11.27

概要

2024年11月25日のrelease notesでCloud Run jobsのタスクタイムアウト時間が最大168時間(7日間)まで設定できるようになりました。2024年11月27日時点ではプレビュー機能です。

You can now set a task timeout up to 168 hours (7 days) for Cloud Run jobs. (Preview)

タイムアウト時間(既存) タイムアウト時間(プレビュー)
24時間(1日) 168時間(7日)

https://cloud.google.com/run/docs/configuring/task-timeout

試してみた

コンソール

コンソールでCloud Run jobsのタスクタイムアウト時間を168時間にしたところ、設定可能でしたがタスクのタイムアウトの右側にプレビュー表記がされました。
スクリーンショット 2024-11-27 8.16.09

24時間以内の場合はプレビュー表記は表示されません。
スクリーンショット 2024-11-27 8.21.08

gcloudコマンド

プレビュー機能のため、gcloud run jobs deployでタスクタイムアウト時間task-timeoutを24時間以上に設定するとエラーになります。
以下はタスクタイムアウトを168時間=604800秒に設定してジョブをデプロイするコマンドです。

gcloud run jobs deploy tasktimeout-test-cloud-run-job \
--source . \
--region=asia-northeast1 \
--tasks=1 \
--cpu=1 \
--max-retries=0 \
--memory=512Mi \
--parallelism=1 \
--task-timeout=604800 \
--region asia-northeast1

以下のエラーが発生します。

ERROR: (gcloud.run.jobs.deploy) FAILED_PRECONDITION: The feature 'long-running-jobs' is not supported in the declared launch stage on resource tasktimeout-test-cloud-run-job. The launch stage annotation should be specified at least as BETA. Please visit https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation for in-depth troubleshooting documentation.

タスクタイムアウト時間が24時間以上の機能がプレビュー段階にあるためgcloud run jobs deployでは使用できずbeta版のコマンドを使用する必要があります。

gcloud beta run jobs deploy tasktimeout-test-cloud-run-job \
--source . \
--region=asia-northeast1 \
--tasks=1 \
--cpu=1 \
--max-retries=0 \
--memory=512Mi \
--parallelism=1 \
--task-timeout=604800 \
--region asia-northeast1

以下の通り問題なくジョブが作成されます。

Job [tasktimeout-test-cloud-run-job] has successfully been deployed.
To execute this job, use:
gcloud beta run jobs execute tasktimeout-test-cloud-run-job

作成後のジョブのYAMLにも以下の通り168時間(604800)が設定されます。

timeoutSeconds: '604800'

まとめ

プレビュー段階ではありますが、もともと24時間と長かったCloud Run jobsの実行時間がさらに延長されました。
類似のサービスでもあるCloud Batchの実行時間は最大14日間となっており、Cloud Run jobsの1日とはだいぶ差があったのですが今回のアップデートでだいぶ縮まりました。

Cloud Batchの最大実行時間 Cloud Run jobsの最大実行時間(プレビュー)
14日間 7日間

両サービスの違いは実行時間以外でも多くの点でことなります。以下のブログも参照ください。
https://dev.classmethod.jp/articles/google-cloud-try-batch/#cloud-run-jobs-%25E3%2581%25A8%25E3%2581%25AE%25E6%25AF%2594%25E8%25BC%2583

今後もCloud Run jobsのアップデートには目が離せませんね。
それではまた。ナマステー

参考

https://cloud.google.com/run/docs/configuring/task-timeout

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.