Fungsi yang berjalan di runtime Custom Container bergantung pada sumber daya yang disediakan oleh Function Compute. Gambar dicache ke Function Compute untuk mempercepat cold start fungsi. Function Compute memungkinkan pengguna melihat status cache fungsi Custom Container demi pengalaman pengguna yang lebih baik. Topik ini menjelaskan status-status fungsi Custom Container dan bagaimana status tersebut memengaruhi pemanggilan fungsi.
Status Fungsi
Function Compute mencache gambar Anda dari Alibaba Cloud Container Registry (ACR) untuk mempercepat cold start fungsi. Proses caching di Function Compute bersifat asinkron. Persiapan sumber daya dilakukan secara asinkron di latar belakang tanpa memandang apakah operasi pembuatan dan pembaruan mengembalikan hasil sinkron. Status fungsi diberikan untuk menunjukkan tahap persiapan sumber daya.
Status fungsi dalam Function Compute menunjukkan ketersediaan fungsi untuk dipanggil. Fungsi yang memerlukan sumber daya yang disediakan oleh Function Compute, seperti fungsi yang berjalan di runtime Custom Container, dapat berada dalam salah satu status berikut:
Pending: Status awal sebuah fungsi adalah Pending setelah dibuat. Dalam status ini, Function Compute mencoba memesan sumber daya yang diperlukan agar fungsi dapat berjalan. Anda tidak dapat memanggil fungsi dalam status ini. Ketika gambar terkait siap, fungsi masuk ke status Active.
Active: Fungsi masuk ke status Active ketika Function Compute menyelesaikan pemesanan sumber daya. Fungsi dalam status Active dapat dipanggil sesuai harapan.
Failed: Fungsi dalam status ini gagal dipanggil karena terjadi masalah selama persiapan sumber daya.
Inactive: Fungsi masuk ke status Inactive jika tidak aktif untuk jangka waktu lama. Dalam hal ini, sumber daya fungsi, seperti gambar yang dicache, dilepaskan. Fungsi dalam status Inactive tidak dapat dipanggil sesuai harapan. Anda dapat mencoba menerapkan ulang atau memicu fungsi, sehingga Function Compute menempatkan fungsi kembali ke status Pending dan mencoba mempersiapkan sumber daya untuk fungsi tersebut. Jika sumber daya berhasil dipersiapkan, fungsi kembali ke status Active. Jika tidak, fungsi tetap berada di status Inactive.
Function Compute mencache gambar untuk mempercepat cold start. Namun, gambar asli tidak boleh hilang selama pemanggilan. Jika gambar asli tidak ada lagi, fungsi masuk ke status Failed dan tidak dapat dipanggil. Kami menyarankan Anda memperbarui fungsi secepat mungkin ketika gambarnya berubah.
Function Compute mencatat tag dan digest versi gambar yang Anda pilih saat membuat dan memperbarui fungsi. Jika versi gambar diperbarui ke digest lain di tempat lain, fungsi gagal dipanggil. Anda harus memastikan bahwa gambar tidak ditimpa oleh digest lain. Jika gambar ditimpa, Anda harus menggunakan informasi gambar terbaru untuk menerapkan ulang fungsi.
Status fungsi terkait dengan pembaruan fungsi
Bidang LastUpdateStatus digunakan untuk menunjukkan status fungsi setelah fungsi dibuat.
InProgress: Fungsi sedang diperbarui dan Function Compute sedang mempersiapkan sumber daya. Permintaan pemanggilan diarahkan ke kode fungsi sebelum pembaruan.
Successful: Fungsi telah diperbarui. Permintaan pemanggilan diarahkan ke kode fungsi yang telah diperbarui.
Failed: Sumber daya gagal dipersiapkan untuk fungsi. Permintaan pemanggilan diarahkan ke kode fungsi sebelum pembaruan.
Memanggil fungsi
Anda dapat memanggil operasi GetFunction untuk mendapatkan status dan digest gambar fungsi. Jika Anda menggunakan SDK atau Serverless Devs untuk membuat atau memperbarui fungsi yang berjalan di runtime Custom Container, Anda harus memanggil operasi GetFunction untuk memastikan bahwa fungsi berada dalam salah satu status berikut:
Active: Untuk fungsi yang baru dibuat, pastikan bahwa mereka berada dalam status Active sebelum Anda memanggilnya. Fungsi dalam status lain tidak dapat dipanggil.

Successful: Untuk fungsi yang diperbarui, pastikan bahwa nilai LastUpdateStatus mereka adalah Successful. Fungsi tidak dapat dipanggil jika nilai LastUpdateStatus mereka bukan Successful.
Gambar berikut menunjukkan status fungsi yang sedang diperbarui.

Gambar berikut menunjukkan status fungsi yang telah diperbarui.
