Pemecahan Masalah / Eksekusi Fungsi Tidak Merespons
Eksekusi fungsi yang tidak merespons dapat memiliki berbagai kemungkinan, dan perlu dibedakan berdasarkan situasi yang berbeda.
Secara spesifik, gejalanya adalah:
- Saat mengakses API melalui browser, statusnya berada dalam keadaan memuat dalam waktu yang lama.
- Saat memanggil API menggunakan curl, tidak ada respons dalam waktu yang lama.
Pada saat ini, Anda perlu menulis fungsi pengujian di DataFlux Func dan mengonfigurasinya sebagai "API Fungsi" untuk membantu menentukan penyebabnya.
Fungsi pengujiannya adalah sebagai berikut:
| Python | |
|---|---|
1 2 3 | |
1. Fungsi pengujian berjalan normal
Kemungkinan penyebab dan solusinya:
| Kemungkinan Penyebab | Solusi |
|---|---|
| Fungsi yang dipanggil memang memerlukan waktu berjalan yang lama | Hubungi pengembang fungsi untuk memecahkan masalah |
2. Tidak dapat memublikasikan fungsi pengujian, atau pemanggilan fungsi pengujian tidak merespons
Kemungkinan penyebab dan solusinya:
| Kemungkinan Penyebab | Solusi |
|---|---|
| Ada antrian yang terblokir | Buka "Tentang / Dapatkan Laporan Sistem / Kosongkan Antrian Kerja" |
| Ada masalah dengan koneksi Redis | Periksa apakah konfigurasi koneksi Redis benar dan mulai ulang seluruh DataFlux Func |
Tentang "Ada masalah dengan koneksi Redis"
Dalam skenario di mana DataFlux Func disebarkan di k8s, jika klaster k8s mogok dan dimulai ulang, atau Pod Redis mogok dan dimulai ulang, tetapi DataFlux Func sendiri tidak dimulai ulang, maka semua pemanggilan fungsi dapat menjadi tidak merespons.
Ini mungkin karena setelah klaster k8s atau Pod Redis dimulai ulang, koneksi lama DataFlux Func dengan Redis tidak ditutup, atau DataFlux Func tidak dapat mengetahui bahwa koneksi Redis telah terputus, sehingga menyebabkan proses tugas DataFlux Func selalu menunggu pesan dari Redis tetapi tidak pernah dapat berkomunikasi secara normal.
Pada saat ini, dengan memastikan bahwa Redis telah berjalan normal, memulai ulang seluruh DataFlux Func dapat menyelesaikan masalah ini.