Why looping functions are better than using MNI?
Discussion posts and replies are publicly visible
System load is way lower and execution time much higher. Is this a general or a specific question?
Hi Stefan, Thanks for the answer but can you explain little bit more technically about it? because I am still in a learning phase in Appian and also if someone ask me this question in interview then how should I answer it?
Hm ... key difference is that looping functions are just functions with a low execution overhead and memory footprint. MNI means to execute a node in a process multiple time which means that this node must go through the whole process execution mechanism. And this takes way more precious bytes and cpu cycles ;-)
Thanks Stefan.
Just to add we have limit while using MNI we can only execute particular node 1000 times only, while there is no limit for looping function.
When I need to use MNI or looping in a process I make sure to check this box on the tab "Others". This saves memory and gets around the limit of 1000 node instances.
When this node is completed: delete previously completed/canceled instances
docs.appian.com/.../Process_Node_and_Smart_Service_Properties.html
This is not strictly true. If you're using the 'Run one instance for each item in' option and referencing an array that contains 1000 or more items then Appian won't even start the MNI node, even if you've checked the ' Delete previously completed/cancelled instances' option. This is a change to the previous behaviour that using the option you reference would have circumnavigated the 1000 node instance limit. Here's the message the System Admins receive by email:
I have also noticed (seen up to 20.3) that even with the "Delete previously completed/cancelled instances" checked, in a loop fashion, Appian will pause your process if any node attempts to execute 100,000 times.
Of course we've only seen this in an incorrectly configured process where a loop was used to wait for a kill flag that never became set. Doubt we would ever need to process over 100k nodes otherwise :)
Problem: A process model node has exceeded the node traversal limit.
Details: The number of nodes per process for "MNI" would exceed the limit of 100000.