apache / apache/pulsar-client-node

Waiting for ack

未关闭
#359 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C++
星标
164
派生
98
PR 合并指标
30 天内没有已合并 PR

描述

I'm trying to consume 1 message at a time, and i'm acknowledging the message outside of the listener. But it's just grabbing the next message without waiting for the ack.

code sample:
```js
let msg;
let msgConsumer;

const consumer = client.subscribe({
topic: `persistent://public/default/test1`,
subscription: `sub1`,
subscriptionType: 'Exclusive',
receiverQueueSize:0,
ackTimeoutMs:300000,
listener: (msg,msgConsumer) => {
console.log(msg.getData().toString());
msg = msg;
msgConsumer = msgConsumer;

}
});

function someWhereElse(){

msgConsumer.acknowledge(msg);

}
```
Is something like this possible?

贡献指南

这个仓库没有索引到贡献指南

调研方向

从示例中展示的 NodeJS 客户端 subscribe listener 和 acknowledgement 流程入手,检查 receiverQueueSize: 0 以及在 listener 外部执行的 acknowledgements 是如何处理的。复现只有一条消息在途的 subscription,并确定下一条消息是否会在 acknowledge(msg) 之前到达;当时序得到修正或受支持的行为得到文档说明时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, nodejs
领域
distributed-systems
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。