Tre*_*son 5 amqp rabbitmq node.js
在 node.js 中使用 amqp-lib (7) 我在从 RabbitMQ 队列中消费时无法等待异步任务。
例如,
channel.consume(exchange_name, doWork, {
noAck: false
});
function doWork(msg) {
log.info(JSON.parse(msg.content.toString()));
setTimeout(function () {
log.info(" Done");
channel.ack(msg);
}, 2000);
}
Run Code Online (Sandbox Code Playgroud)
这应该,AFAIK 从队列中检索消息,处理它,然后确认该过程已完成并成功。
但是,当我运行它与包含 1000 条消息的队列时,它将抓取所有 1000 条消息并启动该过程。然后 2 秒后,确认一切都已完成。
是否可以等待该过程完成并获得下一个?(在等待另一个进程时,工作人员不应消耗成千上万条消息中的 10 条)。
提前致谢
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |