Penyebab
Koneksi server HTTP ditutup. Penyebab potensial meliputi:
- Mode keep-alive tidak dikonfigurasi untuk koneksi tersebut.
- Koneksi ditutup setelah server HTTP menganggur selama periode tertentu.
- Koneksi ditutup ketika operasi baca/tulis mengalami timeout atau terjadi kesalahan.
Solusi
Function Compute menggunakan mode keep-alive untuk memastikan koneksi ke server HTTP tetap terjaga dalam container kustom. Untuk permintaan idempoten seperti GET, HEAD, OPTIONS, dan TRACE, sistem akan mencoba membangun ulang koneksi jika terjadi kesalahan seperti
EOF dan connection reset by peer. Namun, untuk permintaan non-idempoten seperti POST dan PATCH, error 502 akan dikembalikan jika koneksi gagal. Untuk mencegah error 502, konfigurasikan parameter berikut pada server tempat container kustom berjalan:- Atur mode koneksi ke keep-alive.
- Nonaktifkan fitur idle timeout dari server HTTP atau atur periode idle timeout lebih dari 15 menit.
Untuk framework server HTTP yang berbeda, konfigurasi parameter di atas dapat bervariasi. Sebagai contoh, untuk framework GoFrame, Anda perlu mengonfigurasi parameter SetIdletimeout, ReadTimeout, dan python uvicorn. Atur SetIdletimeout ke 0, serta konfigurasikan parameter --timeout-keep-alive di baris perintah python uvicorn. Kami sarankan memeriksa apakah server HTTP terputus saat panggilan sparse diminta dari klien HTTP dalam mode keep-alive.
Penyebab
Proses keluar karena terjadi kesalahan fungsi. Penyebab potensial meliputi:
- Operasi keluar dipanggil.
exceptionyang terjadi selama eksekusi fungsi tidak ditangkap.
Solusi
Lakukan langkah-langkah berikut:
- Periksa apakah logika keluar aktif ditentukan dalam kode Anda.
- Tambahkan mekanisme penangkapan atau penimpaan exception di tingkat atas proses dalam lingkungan runtime untuk mencegah proses keluar saat
exceptionterjadi.