Saya menggunakan luwak dalam naskah yang tidak dimaksudkan untuk berjalan terus-menerus, dan saya menghadapi apa yang tampaknya menjadi masalah yang sangat sederhana namun saya tidak dapat menemukan jawaban; cukup masukkan begitu saya melakukan panggilan ke fungsi luwak mana pun yang mengirim permintaan ke simpulong misalnya tidak pernah berhenti dan saya harus membunuhnya secara manual dengan, katakanlah, Ctrl + c atau Program.exit ().
Kira-kira kode ini terlihat seperti ini:
var mongoose = require('mongoose');
// if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ?
mongoose.connect('mongodb://localhost:27017/somedb');
// define some models
// if I include this line for example, node never stop afterwards
var MyModel = mongoose.model('MyModel', MySchema);
Saya mencoba menambahkan panggilan ke mongoose.disconnect () tetapi tidak ada hasilnya. Selain itu, semuanya berfungsi dengan baik (menemukan, menyimpan, ...).
Ini adalah masalah yang sama persis dengan orang ini, sayangnya dia tidak menerima jawaban apa pun: https://groups.google.com/group/mongoose-orm/browse_thread/thread/c72cc1c51c76e661
Terima kasih
EDIT: menerima jawaban di bawah karena secara teknis sudah benar, tetapi jika ada yang pernah mengenai masalah ini lagi, sepertinya luwak dan / atau driver mongodb tidak benar-benar menutup koneksi ketika Anda menanyakannya jika masih ada pertanyaan yang berjalan.
Bahkan tidak ingat panggilan putuskan sama sekali, itu tidak melakukannya setelah permintaan selesai berjalan; itu hanya membuang panggilan Anda tanpa terkecuali atau semacamnya, dan tidak pernah benar-benar menutup koneksi.
Jadi begitulah: pastikan bahwa setiap permintaan telah diproses sebelum memanggil putuskan sambungan () jika Anda ingin benar-benar berfungsi.