规则的响应动作只正常执行其中一个,另一个未正常执行

环境信息

  • EMQ X 版本:4.3.3
  • 操作系统及版本:winserver 2016
  • 其他

问题描述

规则的响应动作只正常执行其中一个,另一个未正常执行

两个响应动作都是data_to_server类型,分别关联两个资源

从规则详情中看到两个响应动作都是成功的,但是实际上第一个响应动作未正常转发,第二个响应动作正常转发

此时如果删去第二个响应动作,则第一个响应动作会正常转发

此问题经过测试在 EMQ X 4.1.0版本上是不存在的,在4.3.2和4.3.3均有这个问题



你响应的2个的web 服务都是正常?方便测试一下把分别单独调用一个响应动作是否都是正常的 :sweat_smile:。然后再调整一下2个动作的顺序

两个响应动作单独都是正常的,但是放一起后,不管顺序怎么调整,都是第一个不行,第二个可以

经过测试,发现第二个响应动作执行了两遍,第一个响应动作未执行

经过测试,发现好像是因为部署在winserver操作系统的原因,同一个版本(4.1.0),在linux下没有问题,在windows下有这个问题

是的,推荐使用Linux相应的版本。

1 个赞

这个问题在winserver操作系统下可以解决吗?因为根据现场环境,没办法部署Linux操作系统。。。 :sob: :sob: :sob:

错误日志贴出来?

日志文件并没有报错,两个响应动作关联的资源也可以正常连接

我估计不是 windows 的问题。不论在哪个机器上,如果你曾经复现过这个问题的话,我估计你在 linux 上也会有问题,只不过刚好你装上 linux 版本 emqx 测试的时候,偶然没能复现出来。

我们自己先尝试复现一下吧

没复现到。如果动作计数都是正常的话,我觉着规则引擎这边是没啥问题的。可能是 Web服务那边接收有问题?

谢谢解答,Web服务没有问题,因为把这两个动作(Web服务)分开的话,都是可以正常转发的,我这边再测试一下 :handshake: :handshake: