Materi
Coba ulang dan penanganan galat bekerja berpasangan. Di Step Functions, langkah Task boleh punya field Retry dan Catch. Saat galat terjadi, aturan Retry diperiksa lebih dulu menurut urutannya, dan hanya aturan yang daftar ErrorEquals-nya memuat nama galat itu yang dipakai. Bila tidak ada aturan Retry yang cocok, atau percobaan ulangnya sudah habis, giliran Catch: alur pindah ke langkah yang disebut aturan Catch pertama yang cocok. Nama khusus States.ALL cocok dengan galat apa pun dan harus ditulis terakhir.
Langkah tujuan Catch disebut langkah cadangan (fallback), misalnya menyimpan pesanan ke antrean untuk diproses nanti atau memberi tahu admin. Pola Retry di Azure Architecture Center menambahkan bahwa permintaan yang tetap gagal setelah sejumlah percobaan diperlakukan sebagai galat dan ditangani, bukan dicoba terus.
// Hasil tiap percobaan kirim resi, ditetapkan lebih dulu
const hasil = ["503", "TIMEOUT", "OK"];
// kebijakan: ulangi "503" dan "TIMEOUT", jadwal jeda 1, 2, 4
// percobaan 1: 503 -> tunggu 1
// percobaan 2: TIMEOUT -> tunggu 2
// percobaan 3: OK -> berhasil setelah 3 percobaan, total jeda 3 detikUntuk melatih logika ini tanpa layanan sungguhan, hasil setiap percobaan ditulis lebih dulu sebagai array, seperti contoh di atas. Kode membaca array itu satu per satu, memutuskan apakah galatnya boleh diulang, dan menjumlahkan jeda sebagai angka.