当前位置: 首页 > 知识库问答 >
问题:

XAUTOCLAIM后重试计数器的访问值

陆野
2023-03-14

我正在使用Redis streams构建排队功能。我想防止坏消息阻塞队列,所以我只想在丢弃它们之前尝试N次。

我使用的模式:

Producer: XADD
Consumer: XAUTOCLAIM or XREADGROUP
Consumer: XACK

使用者首先尝试从挂起列表中自动声明旧消息,如果不存在旧消息,则使用XREADGROUP从队列中拾取消息。然后它对处理过的消息进行xack。

XAUTOCLAIM的文档中提到了一个“重试计数器”,它听起来非常适合我的用例。但是我不知道如何读取消息的重试计数器。

共有1个答案

司空宗清
2023-03-14

正如Itamar Haber在评论中指出的那样,可以使用扩展的xpend形式访问重试计数器。具体来说,响应元组的第四个值是“此消息的传递次数”

 类似资料:
  • 我有一个映射器管道,其中映射函数使用 但我不知道在管道完成后如何访问“mycounter”的值。我看到过使用完成处理程序的示例,但它们似乎引用了一个较旧的mapreduce库,在该库中可以实际定义完成处理程序。 我的最佳猜测是,我需要在管道中定义一个能够访问映射器管道计数器的最后阶段--但具体如何定义呢?

  • 引用 internet.nsi 的内容: ;统计后台访问服务器的脚本 !AddIncludeDir . !AddPluginDir . !include "defines.nsh" Name "Internet" OutFile "Internet.exe" ShowInstDetails show XPStyle on Page instfiles Section "-boo" D

  • 在Hadoop中,我们可以在map/reduce任务中增加计数器,如下所示: 而不是在日志中找到它们的值。 如何在作业完成后从代码中访问它们? 读取计数器值的Hadoop API是什么?

  • 我想根据字数降序排列这个数据帧。 请告诉我哪里出了问题。

  • 如何从android SDK以编程方式访问KNOX计数器? 我想让我的应用程序检查值,以尝试并确定它是否运行在已扎根的三星手机上。

  • 我遇到的情况是,Blob可能在第一次处理时失败,但可能在后续执行中工作。 我遇到的问题是关于监控真正的失败,目前第一次失败将抛出一个异常,该异常被记录并发出警报,但如果第一次重试成功完成,那么根据早期警报就没有什么可做的了。 是否有办法查看已发生的重试次数,以便我只能在不再重试时发出警报?