MNI vs Looping for start process smart service

Hello All, 

 

I am trying to find the pros and cons of using "MNI" or " Looping in process model" to start multiple Process instances using "Start process Smart Service". And which will be performant for starting 1000s of instances in few minutes delay.

 

Regards,

Thoufiq,

  Discussion posts and replies are publicly visible

  • You can only initiate 1000 instance of a smart node in a process instance. I would recommend using a!startProcess() SAIL function as initiating more than 1000 instances of sub-process smart node would result into crossing threshold and your node would no longer work.
  • 0
    Certified Lead Developer
    Thoufiq can you explain your requirement, in which scenario are you coming across through this situation where you want to start 1000s of instances.

    Adding to above suggestions, try to keep a timer event on node in process model for let's say 10 minutes, in case if the node gets stuck while initiating 1000s of instances at a time, then the flow can be redirected to the next node instead of being stuck. Also as per my understanding, initiating 1000s of instances from SAIL on button click is not a good idea, because it will take lot of time to submit the form which won't be convenient for the end user as well.
  • HI Alok,

    It was rather a question to understand prodcut teams opinion around which one will be performant in terms of these sort of requirements. When i have to start 1000's of instances in a sort time gap, it sounds better to give atleast a few seconds gap between successive instances , but this sort of looping and MNI's both get highlighted in Health check reports as risk.
  • MNI Is probably the weakest solution in a case like this since all instances will be started on the same execution engine. Looping in combination of a!startProcess() or sending a message to the process model in lower versions will be a much more stable solution.
  • I believe the sub process node will start all the instances in same engine as parent when configured with MNI , where as Start Process Smart service has got load balancing it should start the instances in different process engines.
  • Yes, sub-processes run on the same engine as the parent process.

    As someone else suggested, it would be helpful if you could elaborate a bit more on your use case. Given that Health Check is flagging this as a risk, it may be worthwhile to come at the problem from a different angle altogether. With more information about your use case, the community might be able to help you brainstorm other ways to meet your requirements, while still adhering to best practices.

  • Thanks eliot ,

    scenario is we will be getting Requests via Database as new records.

    We want all of these to be processed , So a scheduler picks up these request ona given time interval as a batch and tries to kick off Different Appian process instances for each of these requests.

    So am trying to understand the pros and cons of using MNI or Looping to start the destination process models in a better way such that performance of the server doesnt gets degraded.

    Regards,
    Thoufiq.