Setelan waktu tunggu permintaan Cloud Run memungkinkan Anda menentukan waktu maksimum yang dimiliki layanan untuk menampilkan respons. Jika layanan Anda tidak merespons dalam batas ini, Cloud Run akan menutup koneksi jaringan dan menampilkan error HTTP 504.
Menutup koneksi tidak akan menghentikan instance container. Penampung mungkin terus memproses permintaan yang dibatalkan, yang dapat mengganggu penanganan permintaan lain. Untuk mencegah waktu tunggu habis, tetapkan waktu tunggu yang lebih tinggi dari waktu eksekusi yang diharapkan, atau lacak sisa waktu eksekusi untuk melakukan pembersihan dan kembali lebih awal.
Periode waktu tunggu untuk layanan
Waktu tunggu ditetapkan secara default ke 5 menit (300 detik) dan dapat diperpanjang hingga 60 menit (3.600 detik).
Saat memicu layanan Anda dari peristiwa Eventarc, langganan push Pub/Sub atau Cloud Scheduler, waktu tunggu layanan ini berlaku.
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 menerapkan 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:
- Cloud Run Developer (
roles/run.developer) di layanan Cloud Run - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) pada identitas layanan
Jika Anda men-deploy layanan atau fungsi dari kode sumber, Anda juga harus memiliki peran tambahan yang diberikan kepada Anda di project dan akun layanan Cloud Build.
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.
Menetapkan 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 , command line gcloud CLI, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru.
Konsol
Di konsol Google Cloud , buka Cloud Run:
Pilih Services dari menu navigasi Cloud Run:
Jika Anda mengonfigurasi layanan baru, klik Deploy container dan isi halaman setelan layanan awal. Kemudian, klik Containers, Networking, Security untuk memperluas halaman konfigurasi layanan.
Jika Anda mengonfigurasi layanan yang ada, klik layanan tersebut, lalu klik tab Scaling.
Di bagian Requests, pada kolom Request timeout, masukkan nilai waktu tunggu yang ingin Anda gunakan dalam satuan detik. Gunakan nilai yang berkisar dari
1hingga3600detik.Klik Create untuk layanan baru. Klik View diff & redeploy, lalu Deploy changes untuk layanan yang ada.
gcloud
Anda dapat memperbarui waktu tunggu permintaan untuk revisi tertentu kapan saja menggunakan perintah berikut:
gcloud run services update SERVICE --timeout=TIMEOUT
Ganti kode berikut:
- SERVICE: nama layanan Anda.
TIMEOUT: waktu yang diperlukan untuk menampilkan respons, menggunakan nilai bilangan bulat atau nilai durasi absolut—misalnya
1m20syaitu 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 kode berikut:
IMAGE_URL: 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 mengikuti formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- TIMEOUT: waktu yang diperlukan untuk menampilkan respons, menggunakan nilai bilangan bulat atau nilai durasi—misalnya,
1m20syang berarti 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
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Perbarui atribut
timeoutSeconds:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: spec: containers: - image: IMAGE timeoutSeconds: VALUE
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
IMAGE_URL: 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 mengikuti formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- VALUE: waktu tunggu yang dipilih, dalam detik.
Buat atau update layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Perintah
gcloud run services replacesecara default menggunakan fileservice.yamljika ada.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_service
di konfigurasi Terraform Anda:Ganti 300s dengan waktu tunggu permintaan yang dipilih untuk layanan Anda.
Lihat setelan waktu tunggu permintaan
Untuk melihat setelan waktu tunggu permintaan saat ini untuk layanan Cloud Run Anda:
Konsol
Di konsol Google Cloud , buka halaman Services Cloud Run:
Klik layanan yang Anda minati untuk membuka halaman Detail layanan.
Klik tab Scaling untuk melihat setelan.
gcloud
Gunakan perintah berikut:
gcloud run services describe SERVICE
Temukan setelan waktu tunggu permintaan dalam konfigurasi yang ditampilkan.