The Repeated Execution plug-in runs a specific flow repeatedly.
You can run a service with a value specified in the Input Properties (inputProperties) for each iteration of the flow. This is useful, for example, when you want to run the same processing on different servers. Note that the execution methods for a flow include concurrent execution that runs flows in parallel, and sequential execution that runs the next flow when the current flow finishes. In addition, the Repeated Execution Plug-in can have a nested structure, and it is possible to define the nest of Repeated Execution Plug-in up to 3 levels. When used in the combination with the Flow Plug-in, up to 25 levels can be defined together with the Flow Plug-in.
Cautionary notes
- If the parallel option is specified in the foreachMode property, the value of the properties (service properties, plug-in output properties, variables) referenced or updated in the context of a repeated task are only valid for the same repeated task (the nth flow). Additionally, the value of the property (service property, plug-in output property, variable) cannot be shared with concurrently processed, repeated tasks (except for the nth flow) or shared with the repeated tasks of a lower level.
The following figure shows how the plug-ins in each level reference an output property updated by plug-in Z.
Restrictions on the number of flows
The maximum number of flows that can be specified for a Repeated Execution Plug-in is set through the inputProperties property and cannot exceed 10,000 per service. Note that the total number of flows does not include the number of flows run in the top-level flow or the flows associated with the Flow Plug-in.
If the number of flows under repetition in the service increases, the response might be delayed, and it might even cause the browser to crash. Therefore, the upper limit is set for the number of flows under repetition in the service.
The flow included in the count is only for the Repeated Execution Plug-in, while the flow for the Flow Plug-in is excluded from the counting target.
Type | Counting Target |
---|---|
Flow under Repeated Execution Plug-in | Yes |
Flow by Flow Plug-in | Yes |
Other flows | No |
In the following example, the inputProperties properties of the Repeated Execution Plug-in is set to repeat plug-in N twice, plug-in M twice, and plug-in Z a total of ten times. Thus, the total number of flows is calculated as follows: N+N*M+Z (2+2*2+10) = 16.
The input values and loop index for the Repeated Execution plug-in a nested configuration that derives the input values and loop index values using the following reserved properties:
- reserved.loop.inputN
- reserved.loop.indexN
Return Codes
The Repeated Execution Plug-in generates the following return codes:
Return Code | Description |
---|---|
0 | Ended normally. |
1 | Some of the repeated processing failed. |
2 | All of the repeated processing failed. |
3 | The total number of flows under the Repeated Execution Plug-in in the service exceeds the upper limit. |
65 | The connection with the Ops Center Automator server failed. For example, the Ops Center Automator server might have stopped while the plug-in was being run. |
66 | The following user is mapped to the
Ops Center Automator user:
|
68 | No information about the target job execution ID exists. |
69 | An environment variable of the task-processing engine cannot be acquired. |
80 | Task execution has stopped. |
81 | The plug-in was called in a status that is not valid. |
82 | The request message from the task-processing engine cannot be correctly parsed. |
83 | The environment of the Ops Center Automator server is corrupted. |
84 | Information about the specified plug-in cannot be obtained. |
86 | The specified property value is not valid. |
127 | Another error has occurred. |
Property list
Following are the properties for the Repeated Execution Plug-in: