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. Perlu diingat bahwa instance container yang menyajikan permintaan tidak dihentikan.

Waktu tunggu disetel secara default ke 5 menit (300 detik) dan dapat diperpanjang hingga 60 menit (3.600 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 juga dapat memberlakukan waktu tunggu yang lebih ketat.

Peran yang diperlukan

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

Untuk 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 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 Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai keinginan, kemudian klik Container, vo;ume, jejaring, sekuritas 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.

Command line

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 diinginkan, 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 berbentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
  • [TIMEOUT] dengan waktu yang diinginkan, menggunakan nilai bilangan bulat atau nilai durasi, 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.

YAML

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

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

    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 update 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"

  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.

Command line

  1. Gunakan perintah berikut:

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