Workflow modifiers
Workflow modifiers define the behaviors of a workflow.
Construct | Modifier | Domain | Description | Default |
---|---|---|---|---|
Workflow |
| |||
Limit | -1..n | The maximum number of workflow instances of the same model waiting at any given time (they are pre-created instances existing in the buffer) | 10 | |
Live | -1..n | The maximum number of workflow instances of the same model allowed to run (in parallel) at the same time. (For example, a workflow receives inputs of X value and Y value and calculates X+Y=Z. When the first X and Y values are received, a workflow instance starts the process of calculation. While the calculation is taking 1 second to complete, a new set of X and Y values are received before the current instance is completed. Therefore a new workflow instance will start calculating X+Y from the new values. These two instances are running in parallel | 10 | |
Timeout | -1..n | The period of time of inactivity after which a workflow instance is considered dead and removed from the buffer. Both XSD time period format and plain number of milliseconds are allowed. Timeout = "-1" means the workflow will never time out. | PT1M | |
Task |
| |||
While | true, false | Logical expression for repeatable tasks (only true/false is currently supported) (if false use variable not streams) | false | |
| ||||
Invoke |
| |||
SkipIf (skip-if) | true, false | A logical expression to skip the invoke execution (mutually exclusive with OnlyIf) - the output will be Null
get = "[%:[:AA:].URL.Value:%]/cgi-bin/decoder_control.cgi?[:UP:][%:amp:%]command=15[%:amp:%]sit=[%:[:AD:].Preset.Value:%]" /> | ||
OnlyIf (only-if) | true, false | A logical expression to execute invoke conditionally (mutually exclusive with SkipIf) | ||
Delay | Duration | Synonym of DelayBefore (mutually exclusive with DelayUntil, Timeout)
get = "[%:[:AA:].URL.Value:%]/cgi-bin/video_snapshot.cgi?[:UP:]" /> | ||
DelayBefore | Duration | Invoke execution delay interval (delay before invoke starts executing) - Mutually exclusive with Timeout and DelayUntil | ||
DelayAfter | Duration | Time to wait after invoke is completed before the next invoke in the same task starts
get = "[%:[:AA:].URL.Value:%]/cgi-bin/decoder_control.cgi?[:UP:][%:amp:%]command=15[%:amp:%]sit=[%:[:AD:].Preset.Value:%]" /> | ||
DelayUntil | DateTime | Absolute invoke execution time (Mutually exclusive with DelayBefore and Timeout) | ||
WaitFor | The output(s)/event(s) that will allow the Invoke to continue. Until the WaitFor is met, the Invoke will be suspended
get = "[%:[:AA:].URL.Value:%]/cgi-bin/video_snapshot.cgi?[:UP:]" /> | |||
Unless | Usually used with delay. The output/event will terminate the delay and start the Invoke. This can be an event or the output from another task. |