Menyetel waktu tunggu permintaan (layanan)

Untuk layanan Cloud Run, setelan waktu tunggu permintaan menentukan waktu saat respons harus ditampilkan oleh layanan yang di-deploy ke Cloud Run. Jika respons tidak ditampilkan dalam waktu yang ditentukan, permintaan akan berakhir dan error 504 akan ditampilkan. Perhatikan bahwa instance penampung yang menayangkan permintaan tidak dihentikan.

Periode waktu tunggu

Waktu tunggu ditetapkan secara default ke 5 menit (300 detik) dan dapat diperpanjang hingga 60 menit (3600 detik).

Anda dapat mengubah setelan ini saat men-deploy image container atau dengan memperbarui konfigurasi layanan.

Selain mengubah waktu tunggu permintaan Cloud Run, Anda juga harus memeriksa framework bahasa Anda untuk mengetahui apakah framework memiliki setelan waktu tunggu permintaannya sendiri yang juga harus diperbarui. Beberapa klien layanan Cloud Run mungkin juga menerapkan waktu tunggu yang lebih ketat.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Menyetel dan memperbarui waktu tunggu permintaan

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi berikutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Anda dapat menetapkan waktu tunggu permintaan menggunakan konsol Google Cloud, command line gcloud, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru.

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Di kolom Waktu tunggu permintaan, masukkan nilai waktu tunggu yang ingin Anda gunakan dalam satuan detik. Gunakan nilai yang berkisar dari 1 hingga 3600 detik, atau dari 1 hingga 60 menit.
  5. Klik Buat atau Deploy.

gcloud

Anda dapat memperbarui waktu tunggu permintaan untuk revisi tertentu kapan saja menggunakan perintah berikut:

gcloud run services update SERVICE --timeout=TIMEOUT

Ganti:

  • SERVICE dengan nama layanan Anda.
  • TIMEOUT dengan waktu yang harus ditampilkan respons, menggunakan nilai bilangan bulat atau nilai durasi absolut, misalnya 1m20s yaitu 1 menit, 20 detik. Jika Anda menggunakan nilai bilangan bulat, satuannya akan diasumsikan sebagai detik. Nilai yang Anda tentukan harus kurang dari 60 menit.

Anda juga dapat menetapkan waktu tunggu permintaan selama deployment menggunakan perintah:

gcloud run deploy --image IMAGE_URL --timeout=TIMEOUT

Ganti:

  • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
  • TIMEOUT dengan waktu yang harus ditampilkan dalam respons, menggunakan nilai bilangan bulat atau nilai durasi, misalnya 1m20s yaitu 1 menit, 20 detik. Jika Anda menggunakan nilai bilangan bulat, unitnya akan diasumsikan sebagai detik. Nilai yang Anda tentukan harus kurang dari 60 menit.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut timeoutSeconds:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
          timeoutSeconds: VALUE

    Ganti

    • SERVICE dengan nama layanan Cloud Run Anda
    • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL berbentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • VALUE dengan waktu tunggu yang diinginkan, dalam satuan detik.
    • REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
      • Dimulai denganSERVICE-
      • Hanya berisi huruf kecil, angka, dan -
      • Tidak diakhiri dengan -
      • Tidak melebihi 63 karakter
  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Tambahkan kode berikut ke resource google_cloud_run_v2_service di konfigurasi Terraform Anda, di bagian template. Ganti 300s dengan waktu tunggu permintaan yang diinginkan untuk layanan Anda.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-request-timeout"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Timeout
    timeout = "300s"
  }
}

Lihat setelan waktu tunggu permintaan

Untuk melihat setelan waktu tunggu permintaan saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka halaman Detail layanan.

  3. Klik tab Revisi.

  4. Pada panel detail di sebelah kanan, setelan waktu tunggu permintaan tercantum di bagian tab Container.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan setelan waktu tunggu permintaan dalam konfigurasi yang ditampilkan.