node execute limit

I need to execute node consistently, but I get this error I get the error "The number of tasks per node  would exceed the limit of 1000". Could someone help me with it?

there are config details

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    In these cases i would recommend to perform these operation only asynchronous by configuring this node inside a sub-process, because this could be a heavy operation, and user cannot wait for that long.

    Also, It depends upon what's next after the completion of this activity, is that the Task Assignment, or process simply terminates after processing the loop.

    Because if the next set of steps are related to Task assignment, then yes, user can't wait for that long and may suspect that there is something wrong happened behind the screen, but if the process terminates post processing this MNI then i think either the way should be fine (including performing this job asynchronous).

    Also, as per the recommended approach in terms of performance, Yes you should opt for a!forEach() over MNI, wherever applicable.

    But, just because you are making the use of forEach() doesn't mean that you should process the complete loop at once(if the data set is very huge), because this may also slow down your server performance.

    I believe one of the most important factor in terms of performance while looping is, what operation are you trying to perform, is that a normal manipulation job or interacting with the DB.

    But of course, a!forEach() stands better while compared to MNI, in terms of performance (wherever applicable).
Reply
  • 0
    Certified Lead Developer
    In these cases i would recommend to perform these operation only asynchronous by configuring this node inside a sub-process, because this could be a heavy operation, and user cannot wait for that long.

    Also, It depends upon what's next after the completion of this activity, is that the Task Assignment, or process simply terminates after processing the loop.

    Because if the next set of steps are related to Task assignment, then yes, user can't wait for that long and may suspect that there is something wrong happened behind the screen, but if the process terminates post processing this MNI then i think either the way should be fine (including performing this job asynchronous).

    Also, as per the recommended approach in terms of performance, Yes you should opt for a!forEach() over MNI, wherever applicable.

    But, just because you are making the use of forEach() doesn't mean that you should process the complete loop at once(if the data set is very huge), because this may also slow down your server performance.

    I believe one of the most important factor in terms of performance while looping is, what operation are you trying to perform, is that a normal manipulation job or interacting with the DB.

    But of course, a!forEach() stands better while compared to MNI, in terms of performance (wherever applicable).
Children
  • 0
    Certified Lead Developer
    in reply to aloks0189
    You bring up a very good point. MNI is good for breaking up a a!forEach in to manageable chuncks. If you try to break up a !forEach inside a a!forEach, the parent will keep running until all of its children are done. The execution engine may be stuck on that without any option to do other things until the job is done, and you can cripple your engine.

    So MNI would be very good because it can actually reach a finished state to allow a short job through before the full set of data goes through a!forEach. Anything longer than 10 or 20 seconds is probably going to start impacting other users unless you can break it up with MNI.

    You'll have to benchmark to see which is the most reasonable for your case.