Menyetel waktu tunggu permintaan

Pelajari cara menyetel waktu untuk menampilkan respons atas permintaan oleh layanan penayangan Knative Anda. Jika respons tidak ditampilkan dalam waktu yang ditentukan, permintaan akan berakhir dan error 504 akan ditampilkan.

Batas waktu tunggu

Batas waktu tunggu maksimum berbeda-beda berdasarkan versi cluster GKE.

Versi GKE Batas default Batas waktu tunggu maksimum
0.16.0-gke.1 dan yang lebih baru 300 detik 24 jam
0.15.0-gke.3 dan yang lebih lama 300 detik 900 detik

Selain mengubah waktu tunggu permintaan penayangan Knative, Anda juga harus memeriksa framework bahasa untuk mengetahui apakah framework bahasa tersebut memiliki setelan waktu tunggu permintaannya sendiri yang juga harus Anda perbarui.

Menyetel dan memperbarui waktu tunggu permintaan

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya 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, Google Cloud CLI, atau file YAML saat men-deploy layanan baru atau mengupdate layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penayangan Knative di konsol Google Cloud:

    Buka penayangan Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy New revision.

  3. Di bagian Setelan lanjutan, klik Penampung.

  4. Di kolom Waktu tunggu permintaan, masukkan nilai waktu tunggu yang ingin Anda gunakan. Nilai yang Anda tentukan harus kurang dari batas waktu tunggu untuk versi GKE cluster.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Configure bagaimana layanan ini dipicu, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke penayangan Knative dan tunggu hingga deployment selesai.

Command line

  • Untuk layanan yang ada, tetapkan waktu tunggu permintaan dengan menjalankan perintah gcloud run services update dengan parameter --timeout:

    gcloud run services update SERVICE --timeout TIMEOUT
    

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • TIMEOUT dengan waktu yang diinginkan, menggunakan nilai bilangan bulat dalam detik, atau nilai durasi absolut, misalnya 1m20s yaitu 1 menit, 20 detik. Nilai yang Anda tentukan harus kurang dari batas waktu tunggu untuk versi GKE cluster. Tentukan 0 untuk menyetel waktu tunggu ke nilai default.
  • Untuk layanan baru, tetapkan waktu tunggu permintaan dengan menjalankan perintah gcloud run deploy dengan parameter --timeout:

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

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • IMAGE_URL dengan mereferensikan ke image container, misalnya, gcr.io/cloudrun/hello.
    • TIMEOUT dengan waktu yang diinginkan, menggunakan nilai bilangan bulat dalam detik, atau nilai durasi absolut, misalnya 1m20s yaitu 1 menit, 20 detik. Nilai yang Anda tentukan harus kurang dari batas waktu tunggu untuk versi GKE cluster. Tentukan 0 untuk menyetel waktu tunggu ke nilai default.

YAML

Anda dapat mendownload konfigurasi layanan yang ada ke dalam file YAML menggunakan perintah gcloud run services describe menggunakan flag --format=export. Anda kemudian dapat memodifikasi file YAML dan men-deploy perubahan tersebut dengan perintah gcloud run services replace. Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.

  1. Download konfigurasi layanan Anda ke file bernama service.yaml di ruang kerja lokal:

    gcloud run services describe SERVICE --format export > service.yaml

    Ganti SERVICE dengan nama layanan penayangan Knative Anda.

  2. Di file lokal Anda, perbarui atribut timeoutSeconds:

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

    Ganti:

    • SERVICE dengan nama layanan penayangan Knative Anda
    • IMAGE_URL dengan mereferensikan ke image container, misalnya, gcr.io/cloudrun/hello.
    • TIMEOUT dengan waktu tunggu yang diinginkan, dalam satuan detik.
  3. Ganti layanan dengan konfigurasi baru menggunakan perintah berikut:

    gcloud run services replace service.yaml