Error timeout gaboleh dianggap langsung gagal
Error timeout itu error yang ambigu dan gaboleh langsung dianggap gagal sama kita. Kenapa? Karena timeout itu belom tentu gagal di server penerimanya. Timeout itu sebenernya cuman sistem yang terlalu lama nunggu response dari server yang ngeproses, karena treshold timeout untuk API biasa itu mungkin di 3-5 detik, kalau ada proses yang emang lebih berat bisa dipanjangin sampe 30 detik atau 1 menit tergantung kebutuhan. Nah, karena timeout itu cuman client/gateway yg kelamaan nunggu response, makanya gaboleh dianggap gagal. Karen server yg proses bisa jadi lagi overload atau ada error/flow yg ga ke handle bener yg nyebabin server ga balikin apa2. Karena kalo dianggap langsung gagal misal untuk API yang minta server untuk menambah atau mengedit sesuatu, itu hasilnya bisa kedobel. Kalo misalnya di sosial media aja mungkin masih ga masalah ya bisa tinggal dihapus postingannya kalo ke input dobel. Tapi kalo udah berurusan sama hal sensitif kayak uang misal di banking atau fintech ya ini bisa jadi masalah. Misal aja gue kirim uang Rp. 10,000 dari bank A ke bank B. Bank A gue kena timeout terus dia anggep itu sebagai gagal, otomatis duit gue dibalikin ke rekening gue. Padahal sebenernya bank B mungkin lagi overload aja jadinya prosesnya agak lebih lama tp sebenernya berhasil di proses. Karena gue liat di aplikasi transfernya gagal dan uang gue udah balik, yaudah gue coba transfer lagi aja. Ternyata gue transfer lagi dan berhasil. Berarti bank B udah masukin Rp. 20,000 ke rekening penerima, sedangkan gue cuman dikurangin Rp. 10,000 aja dari rekening gue. Berarti sisa Rp. 10,000 lagi ini ngambil dari mana? Ya berarti Rp. 10,000 ini dibayarin bank A dan berarti bank A rugi Rp. 10,000 Nah error timeout yang kayak gini biasanya dibiarin aja statusnya processing atau pending, dan nanti ada scheduler yang nanya ke bank B status terakhir dari transaksinya. Kalo sampe beberapa kali hit ternyata masih processing, berarti musti di settle secara manual biasanya.
