What are the benefits and drawbacks of using MNI in process model?

What are the benefits and drawbacks of using MNI in process model?

  Discussion posts and replies are publicly visible

  • Hi sonakshid,

    Benefit - When you want to execute multiple instances/ sub process to be invoked at the same point of time, then MNI will be useful.
    Drawback - MNI can run only to a maximum of 1000 iterations.

    Alternate to MNI is you can make use of a counter variable and run in a loop till the max iteration is reached.

    Thanks,
    Vadivelan
  • 0
    Certified Lead Developer
    Hi Sonakshi :

    MNI stands for Multiple Node Instances.
    It allows single node in a process to be execute in a multiple times.
    There are two ways you can design of the each instance using MNI should be executed.
    Parallel Execution : all instances are activated simultaneously. They do not have to be completed in the same order they are activated.
    Squential Execution :the Instances are executed in the order one after the another or one at a time.

    Benefits :
    1.This is best suited for cases where the looping functions cant be used.
    2.If MNI is occurring in the script task where there is no user interaction, it may be possible using looping functions instead. If he is using looping functions, no matter how complex, that is the preference of MNI.

    Drawbacks :
    1. MNI takes more memory
    2. It is slower
    3. More difficult to configure.

    Thanks,
    Ravi.
  • Hi,
    By using MNI we can execute node activity more than one& parallel execution are the best advantages, it is not good when we are using more than 1000 iterations, consumes more storage

    Thanks,
    Jagan
  • Objective:- MNI is something which we use when we have requirement such that when we want to no the same process N number of times.
    supports  parallel and sequence algorithms.


    Pros:- we can achieve looping of a process with counter as increment or decrement .



    Cons:-Time complexity expansive ,Memory management expansive



    Self Case:- you need to check whether application can have >1K process in upcoming future and what performance you're looking for along with the business expectation as solution temporary or permanent

  • Objective:- MNI is something which we use when we have requirement such that when we want to no the same process N number of times.
    supports  parallel and sequence algorithms.


    Pros:- we can achieve looping of a process with counter as increment or decrement .



    Cons:-Time complexity expansive ,Memory management expansive



    Self Case:- you need to check whether application can have >1K process in upcoming future and what performance you're looking for along with the business expectation as solution temporary or permanent

  • 0
    Certified Lead Developer

    The general recommendation to implement loops in Appian is:

    1- Use appian expressions if possible (eg apply, filter, reject etc)

    2- Use MNI

    3- Implement the loop in a process model with gateways

    Use option 1 whenever is possible. 

    A common use of MNI is to create multiple tasks and everyone should complete the task.

    • In the following scenario we can use MNI:

      • If you want to create multiple tasks for a single event, and all participants should complete the task.

        If you are recursively building a text document from process data.

        When using Appian RPA to process items from the list.

        LOOPING vs MNI  :

      Use an MNI, if you need to run instances in parallel. Looping flows can’t do this. 

      Use an MNI, if you need to repeat an activity that involves a user interaction, and it's a different user each time.

      Use a looping flow, if you need to repeat an activity that involves a user interaction, and it's the same user each time.

      Not use MNI when no of activity chaining is greater