I recently upgraded from 17.0.0 to 17.1.4. The switch between versions broke the flow logic of a portion of the model I was building. I can’t attach my real model where this behavior was exhibited so I’ve created two dummy models which replicate the issue.
Basically, when I have the “Reevaluate Sendto on Downstream Availability” checked I expect the “Send To Port” to be rerun for flowitems in a queue when the downstream object becomes available at some point later in the model run(assuming it was busy at the first check).
This seems to work fine in 17.0.0 but in 17.1.4 it doesn’t appear to be working properly. To illustrate this point, I’ve attached two identical models that have been saved under each version. The Flow code in the queue assigns an output port of 500 to an item if the downstream processor is busy (effectively freezing the flowitem in the queue). However, when it gets re-evaluated once the downstream processor is complete with it’s work it should re-run the SendTo code and end up with a return value of 1 (sending the part to the processor). This works in 17.0.0 but not 17.1.4
One thing to note is that in my real model I can’t simply utilize “return 0” (first available) because depending on various conditions (time of day, type of item, etc) I need to send the part to various ports. I need the ability to “freeze” the flowitem at the queue if specific downstream processors are busy and then when they are available, re-execute the SendTo code.return-port-500-problem-in-1700.fsmreturn-port-500-problem-in-1714.fsm