node-amqp, ограничить время сокета для прослушивания событий

Предполагая, что мне нравится 100000 событий в моей очереди rabbitmq, каков наилучший способ ограничить систему, чтобы обрабатывать их последовательно, а не пытаться использовать все сразу?

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

2 ответа

Вы можете сделать (при условии, что вы используете amqplib)

channel.get('queueName', (err, msgOrFalse) => {
    if (err) { 
        // Handle err
    } else if (msgOrFalse) {
       // Handle message
    }
};

Это получает сообщения одно за другим, так что это не все сразу. Вам нужно позвонить несколько раз, конечно.

Я нашел свой ответ, мне просто нужно использовать prefetch чтобы убедиться, что я могу обрабатывать n значений одновременно.

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