node-amqp和async ack
我正在使用rabbitmq的项目。 我必须使用的队列(让我们称之为“testq”不时得到大约35000件必须处理的项目。
基本上(很短):
var q = new Queue(); q.subscribe('testq', { ack: true, prefetchCount: 100 }, function(doc, object, queueOptions, originalDocument) { //do some action originalDocument.acknowledge(); });
我现在的问题是:我想一次获得100条消息(prefetch count = 100),但是我什么时候知道所有的100条消息都已经被处理,这样我就可以确认并获得下100条消息了? “做一些行动块”是asynchronous:(
感谢您的任何build议!
您一个接一个地确认消息,您不必担心获取下一个100条消息,而向您发送消息是一项中介工作。 do some action
asynchronous的do some action
没有什么错,只是在完成some action
之后做出确认,我想可以通过callback来完成,就像node.js中的所有事情一样。 类似的东西:
q.subscribe( 'testq', { ack: true, prefetchCount: 100 }, function(doc, object, queueOptions, originalDocument) { doSomeAction(function() { originalDocument.acknowledge(); }); } );
- 稳定节点JS AMQP 1.0客户端(事件中心)
- 如何使用node-amqp获取队列中的消息数量
- 我无法获取AMQP发布和订阅,从IBM MQ v9.0.1.0开始使用Node JS v6和mqlight v2.0运行
- 如何从amqplib库使用node.JS的channel.assertQueue函数?
- 用于IBM MQ的.Net AMQP客户端
- RabbitMQ – 如何检测消费者队列已被破坏?
- 如何在angular js中实现rabbitmq
- RabbitMQ(和node.js)中的asynchronous确认
- RabbitMQ:`rabbitmqctl list_exchanges`下的'direct'标题是什么意思?