Запрос MongoDB .then () выполняется слишком много раз - PullRequest
0 голосов
/ 04 марта 2020

Я использую CronJob для запуска функции, которая включает запрос mongoose / MongoDB каждые 10 секунд. Вот функция и CronJob:

var runFunction = function  (){
    console.log("At run function, program uses "+ process.memoryUsage().heapUsed+" bytes of Heap.");
    var users = require('./models/user');
    users.find({'local.isActiveUser': "1"})
    .then(docs => {
        console.log("Looking at docs ");
        console.log(docs.length);
        //do more stuff with docs
    })
}

    new CronJob('*/10 * * * * *', runFunction
    , null, true);

Тем не менее, консоль печатает «Просмотр документов» 4-5 раз за запуск функции вместо одного раза. Кто-нибудь может подсказать, что здесь происходит?

Я пытался добавить .exec() между .find() и .then(), но получал некоторые Javascript переполнения памяти кучи (FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory), которые удаляли. exe c (), кажется, решить.

...