This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to run a process SEQUENTIALLY on all resources of a resource group?

Is there any way to achieve the following in DA?

For a given Resource Group

  • identify all its contained resources, 
  • and run a process on each resource, but not in parallel, as would be the default behaviour.
    Instead, run the process sequentially for each resource (starting the next execution after the previous one was finished).

I am aware that this is an unorthodox request.
The background is that one specific operation needs to be done for all members of the resource group, but  it is executed on the same physical machine. Therefore, a parallel execution would cripple the physical server.

  • Verified Answer

    To execute one at a time within a resource group, and in a situation where order of execution is not important (which resource executes first or second, etc.), I would recommend using resource locks.  Within your component process, use the process step Utility Steps | Resource Lock.  Create a name for the Resource Lock that such as

        ${p:component.name}-${p:componentProcess.name}-${environment.name}

    As the processes start to execute, if the first step requires obtaining a lock on that name, only one resource at a time may obtain the lock, the others will wait.

     

    If you wish to control the ordering of these, or if you do not wish to have several processes waiting for the lock, you may wish to look into Resource Roles.  If you would like details on Resource Roles, let me know.

  • A simpler solution to this is to use the Max # of concurrent jobs propert in in the Install Component Process Step (of the Application).  To change this:

    1. open the Application Process in the design editor.  
    2. Click on or select the process step for "Install Component"
    3. In the Properties panel (on the right-hand side), locate the property called "Max # of concurrent jobs".
    4. The default value for Max # is -1.  This means there is no limit.  Change the value to 1 and the process will run on only 1 resource at a time.
    5. There is a similar parameter on the "Operational Component Process" activities.