Справиться с обратным давлением мангусты при получении документов

Я использую нагорье, чтобы справиться с давлением. Мой код:

const pipeline = [{
            $match: { 'published': true, status: 'Approved' }
        }];

        const cursor = UserModel.aggregate(pipeline)
            .cursor().exec();

        // iterating over each hospitality one by one    
        highland(cursor)
            .map((doc) => {
                // some code
                return doc;
            })
            .map((doc) => {
                // some code
                return doc;
            })
            .map((doc) => {
                // some code
                return doc;
            })
            .errors(function (err) {
                winston.error('error', err);
            })
            .done(() => {
                winston.info('JOB: done');
            });

Я хочу, чтобы один документ извлекался, а затем обрабатывал потоки карты один за другим.

Я не уверен, справится ли это с противодавлением, потому что горный док сказал:

Пожалуйста, см. Раздел "Противодавление" в документации по горной местности.

Некоторые потоки (например, основанные на событиях) не могут быть приостановлены. В этих случаях данные буферизуются до тех пор, пока потребитель не будет готов обработать их.

Пожалуйста, предложите любой другой способ, если это не справляется с противодавлением!

0 ответов

Другие вопросы по тегам