Problem leży gdzieś w kompatybilności mangusty z tłumem.
Odpala nowe zdarzenie „connect” dla każdego „wątku” i usuwasz dokument po połączeniu https://gist.github.com/wootwoot1234/49cb7d082850d93f8cd03da164644cfb#file-index-js-L100 :
db.once('open', async function() {
await Message.deleteOne(messageQuery); // <=== remove it from here to fix the problem
throng({
worker: start,
count: 50,
lifetime: Infinity
});
});
Musi tak być ze względu na sposób, w jaki thong izoluje zmienne globalne między wątkami, w szczególności pulą połączeń. Domyślnie pula połączeń mongoose wynosi 5, co oznacza, że jednocześnie nie ma więcej niż 5 połączeń z bazą danych. Kierowca utrzymuje je otwarte i ponownie wykorzystuje, aby zaoszczędzić na kosztach połączenia.
Jeśli sprawdzisz monitorowanie połączeń Atlas, zobaczysz dodatkowe 100 połączeń po uruchomieniu tego skryptu.