exhook使用咨询

  • EMQX 版本:5.0.7
  • 操作系统及版本:
  • 其他

问题描述

我们现在有一个场景是利用exhook,在message.publish做限流,如果设备作为mqtt客户端pub的消息到达broker超过tps限制就将allow_publish置为false,但是设备端无法感知到消息没有发布成功是因为限流了,想问有什么方法能让设备端区分消息没有发布成功是因为被限流/其他原因发布失败的吗?

配置文件及日志

目前还不支持。
后续版本我们计划在 message.publish 钩子中允许定义 PUBACK 的错误码并发送至客户端来支持这个需求。

所以对于qos为1的消息,当前即使在message.publish 钩子中设置allow_publish为false,客户端还是会收到puback是不是?可以理解为客户端还是会认为pub成功了,感知不到pub失败,是这样不?

PUBACK 中可以携带错误码以便客户端识别

好的,感谢感谢,想再问一下方便告知大概计划在什么时候能支持在钩子中定义PUBACK错误码吗?