🎉 Node-RED 3.1.0-beta.2 released

I have found a problem with the Delay node in Beta 2.
If a Delay node configured in Rate Limit mode, All Messages then I see the following problems

  1. If a message containing {flush: 1} is sent in when the queue is empty then the flush message is passed on, which it should not (and does not in 3.0).
  2. If some messages are in the queue and the flush message is sent in then the first message in the queue is passed on, but the flush message is added to the back of the queue, so that at the appropriate time in the future the flush message is released.

In fact, thinking about it these are probably both the same problem.

In the sample flow, after deploying click Flush and the flush message is passed on. Then click the timestamp inject a couple of times and then Flush to see symptom 2.

[{"id":"338de41d7f29e4fc","type":"delay","z":"bdd7be38.d3b55","name":"Queue","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":330,"y":2080,"wires":[["3903cee152a2a110"]]},{"id":"3903cee152a2a110","type":"debug","z":"bdd7be38.d3b55","name":"debug 86","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":500,"y":2080,"wires":[]},{"id":"e9e2846b840985fd","type":"inject","z":"bdd7be38.d3b55","name":"Flush","props":[{"p":"flush","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":2140,"wires":[["338de41d7f29e4fc"]]},{"id":"610ca62114e4d709","type":"inject","z":"bdd7be38.d3b55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":2080,"wires":[["338de41d7f29e4fc"]]}]
1 Like