Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

How to write a workflow with modifiers?

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Modifiers

ConstructModifierDomainDescriptionDefault
Workflow  

Examples:

<Workflow  Limit="1" Live="1" Timeout="-1">...</Workflow>

<Workflow  Limit="5" Live="2" Timeout="PT3M">...</Workflow>

 
 Limit-1..nThe 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..nThe 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 parallel10
 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  

Examples:

<Task name="Main" while="true">...</Task>

 
 While

true, false

Logical expression for repeatable tasks (only true/false is currently supported) (if false use variable not streams)false
   

Examples:

<Invoke name="InvokeSerialRead" waitFor="Argument" get="perif://">...</Invoke>

<Invoke name="SetState" Skipif="[%:[:AA:].State/no-value(Value):%]" WaitFor="ActionArgument" Delay="PT5S">...</Invoke>

 
 

Invoke

    
 SkipIf (skip-if)true, falseA logical expression to skip the invoke execution (mutually exclusive with OnlyIf) - output will be null 
 OnlyIf (only-if)true, falseA logical expression to execute invoke conditionally (mutually exclusive with SkipIf) 
 DelayDurationSynonym for DelayBefore (mutually exclusive with DelayUntil, Timeout) 
 DelayBeforeDurationInvoke execution delay interval (delay before invoke starts executing) - Mutually exclusive with Timeout and DelayUntil 
 DelayAfterDurationTime to wait after invoke completed for the next invoke in the same task to start 
 DelayUntilDateTimeAbsolute invoke execution time (Mutually exclusive with DelayBefore and Timeout) 
 GetURI  
 PostURI  
 PutURI  
 DeleteURI  
 WaitFor A logical expression of possibly multiple outputs/events 
 TimeoutDurationInvoke type dependent hint. Different invoke types may interpret it differently (Mutually exclusive with Delay and DelayUntil) - only relevant if handler understands it, maybe not be in use currently (synonym of delay), use delay instead 
 UnlessName of the Output from another taskDelay termination output/event. Usually used with timeout/delay 
  • No labels