Waktu tunggu fungsi
Jika fungsi berjalan terlalu lama, sistem akan mengambil langkah-langkah untuk menghentikan atau mengalihkan fungsi tersebut. Periode waktu tunggu ini secara default adalah 60 detik, tetapi Anda dapat memperpanjang atau menguranginya saat men-deploy fungsi. Durasi waktu tunggu maksimum adalah 60 menit (3.600 detik) untuk fungsi HTTP dan 9 menit (540 detik) untuk fungsi yang dipicu peristiwa.
Saat eksekusi fungsi mencapai waktu tunggu, pesan respons dengan status error HTTP 504 akan segera ditampilkan ke pemanggil. Instance fungsi mungkin dibatasi, tetapi akan terus beroperasi hingga keluar dengan sendirinya. Setiap pesan respons yang dihasilkan fungsi akan dihapus dan tidak ditampilkan ke pemanggil.
Perilaku ini dapat menyebabkan efek samping yang tidak terduga. Gejala umum adalah munculnya aplikasi yang berfungsi dan dicatat dalam log dari satu permintaan "bocor" ke permintaan berikutnya. Untuk menghindari hal ini, cegah waktu tunggu di fungsi Anda dengan teknik berikut:
- Tetapkan waktu tunggu yang lebih tinggi dari waktu eksekusi fungsi yang diharapkan.
- Lacak jumlah waktu yang tersisa selama eksekusi. Kemudian, lakukan pembersihan dan kembali lebih awal.
Setel durasi waktu tunggu
Anda dapat menetapkan durasi waktu tunggu fungsi saat deployment menggunakan Google Cloud CLI atau Google Cloud Console.
gcloud
Jika Anda men-deploy menggunakan gcloud CLI, gunakan flag --timeout
:
gcloud functions deploy YOUR_FUNCTION_NAME --timeout=TIMEOUT_DURATION ...
Untuk mengedit durasi waktu tunggu yang ada dengan Google Cloud CLI, deploy ulang fungsi dengan nilai waktu tunggu yang baru.
Konsol
Untuk menetapkan durasi waktu tunggu selama pembuatan fungsi di Google Cloud Console:
- Buka halaman Ringkasan fungsi Cloud Run di konsol Google Cloud.
- Klik Create function.
- Lengkapi kolom wajib isi untuk fungsi Anda.
- Luaskan bagian Runtime, build... di akhir halaman, lalu klik tab Runtime.
Di kolom Waktu tunggu, masukkan jumlah detik.
Untuk mengedit durasi waktu tunggu yang ada di Google Cloud Console, di halaman ringkasan fungsi, klik nama fungsi untuk membuka halaman detailnya. Pada halaman detail, klik Edit, luaskan bagian Runtime, build..., lalu klik tab Runtime. mengedit nilai di kolom Timeout secara langsung.