Apakah time-out ini terjadi setelah periode tidak aktif? Sepertinya kumpulan koneksi Anda menjadi basi setelah tidak digunakan terlalu lama.
Jika demikian, ada dua cara untuk melakukannya:
-
Tangkap pengecualian waktu habis soket, dan permintaan langsung Anda harus dapat mengakses kumpulan koneksi baru. (ini jika opsi sambung ulang otomatis di objek koneksi Anda dibiarkan true, yang merupakan default.)
-
Gunakan keep-alive khusus, untuk melakukan ping ke server mongod secara berkala menggunakan kumpulan koneksi yang sama, sehingga kumpulan tetap segar.
Opsi 1 mudah diterapkan, tetapi batas waktu soket default adalah sekitar 30 detik yang agak berlebihan. Anda dapat mengubah setelan ini sesuai kebutuhan.
Opsi 2 adalah sedikit peretasan, yang melibatkan threading.