Workflow grammar
<
Workflow
Limit
=
"1"
Live
=
"1"
Timeout
=
"-1"
>...</Workflow>
<
Workflow
Limit
=
"5"
Live
=
"2"
Timeout
=
"PT3M"
>...</Workflow>
Referenced by:
Overall workflow structure definition
Limit: Maximum number of workflow instances existing at any given time.
Live: Maximum number of workflow instances running at the same time.
Timeout: Period of time after which a workflow instance is considered dead. Both XSD time period format and plain number of milliseconds allowed.
Example
<Workflow>
...
<Task name="WdlTestTask">
<Input name="Command" value="Input.Command"/>
...
</Task>
</Namespace>
</Workflow>
Referenced by: WfTask
Example
<Task name="Event" while="true">
<Output name="RFID" skip-if="$NotOnSchedule([30..59/30sec])"/>
</Task>
Referenced by: WfTask
Output of workflow
SkipIf: Value guard. A logical expression to accept or reject the value.
<Invoke name="ReadId" waitFor="Argument" get="[%:Event.Argument.URL.Value:%]"StopChar="0x0D" ReadTimeout="-1" WriteTimeout="-1" RepeatDelay="1"/>
Referenced by:
Common invoke arguments
WaitFor: A logical expression of possibly multiple outputs/events.
Unless: Delay termination output/event. Usually used with timeout/delay.
SkipIf: A logical expression to skip the invoke execution.
OnlyIf: A logical expression to execute invoke conditionally.
DelayUntil: Absolute invoke execution time.
DelayBefore: Invoke execution delay interval (delay before invoke starts executing).
Delay: Synonym for DelayBefore.
Timeout: Invoke type dependent hint. Different invoke types may interpret it differently.
DelayAfterInvoke result delay interval (delay after invoke has completed).
Example
<Invoke name="JexlTest">
<JexlScript>
</JexlScript>
</Invoke>
Referenced by: InvokeGroup
Example
<Invoke name="GetImage" url="[:Cart.URL:]" execute="sshpass ssh -o ConnectTimeout=10 -p 22 <usename>@<hostname> ls" />
Referenced by:
ExecuteInvoke - command line invoke
Execute: Command line to execute.
StdIn: Optional content of stdin stream.
Example
<Invoke name="neoRoot" get="http://localhost:7474/db/data/"/>
<Invoke name="Activate" post="[:Cart.URL:]/putxml" skip-if="[:isActive:]">
Referenced by:
HTTP Communications
HTTP GET - HttpGetInvokeArguments.
HTTP PUT - HttpPutInvokeArguments.
HTTP POST - HttpPostInvoke Arguments.
HTTP DELETE - HttpDeleteInvokeArguments.
get: http request URL for the method.
put: http request URL for the method.
post: http request URL for the method.
delete: http request URL for the method.
Example
<Message type="text/xml">
<Value>
<Command>
<Standby>
<Deactivate/>
</Standby>
</Command>
</Value>
</Message>
Referenced by:
Example
<
Invoke
name
=
"InvokeSerialRead"
waitFor
=
"Argument"
get
=
"perif://"
>...</Invoke>
Referenced by:
Serial Communications
get: device path regular expression (e.g. COM[3-9] or /dev/tty\\.usbserial.*).
put: device path regular expression (e.g. COM[3-9] or /dev/tty\\.usbserial.*).
post: device path regular expression (e.g. COM[3-9] or /dev/tty\\.usbserial.*).
Example
<CreatePipeline arguments="RxTxServerExtensionArgs"
BaudRate="2400" StopChar="0x0D" />
Referenced by:
CommonRxTxInvokeArguments
MaxWait: Maximum message wait time in seconds.
OpenTimeout: Open timeout in msec.
ReadTimeout: Non-communication timeout in seconds.
WriteTimeout: Non-communication timeout in seconds.
RepeatDelay: Duplicate message delay in seconds.
OmitEmpty: Omit empty messages.
Encoding: Apply encoding/decoding to both the input and output. Only supported value is 'URL'.
DecodeOut: Apply decoding to the output message. Only supported value is 'URL'.
EncodeIn: Apply encoding to the input message. Only supported value is 'URL'.
Trim: Trim whitespace.
FlowControl: Possible values: in:rts/cts, out:rts/cts, in:xon/xoff, out:xon/xoff.
BaudRate: Interface baud rate.
DataBits: Possible values: 5,6,7,8.
StopBits: Possible values: 1,2,1.5.
Parity: Possible values: none,odd,even,mark,space.
Example
<Invoke name="ReadValue" waitFor="Argument"
post="phid://" SerialNumber="2"
DeviceType="PhidgetGPS" delay="5" />
Referenced by:
Example
<Invoke name="ReadValue" waitFor="Argument"
post="phid://" SerialNumber="2"
DeviceType="PhidgetGPS" delay="5" />
Referenced by: Phidget Communications (PhidInvokeArguments)
Example
<Invoke name="InvokeZbee" waitFor="Argument" post="perif://">
<Message>
<Value>
<InterfacePort>/dev/ttyUSB0</InterfacePort>
<Baudrate>9600</Baudrate>
<Interface>serial</Interface>
<UniqueId>92034</UniqueId>
<Operation>receive</Operation>
<format>ascii</format>
<Payload>$Null()</Payload>
<Peripheral>serial</Peripheral>
</Value>
</Message>
</Invoke>
Referenced by:
Example
<Invoke name="InvokeZbee" waitFor="Argument" post="perif://">
<Message>
<Value>
<InterfacePort>/dev/ttyUSB0</InterfacePort>
<Baudrate>9600</Baudrate>
<Interface>serial</Interface>
<UniqueId>92034</UniqueId>
<Operation>receive</Operation>
<format>ascii</format>
<Payload>$Null()</Payload>
<Peripheral>serial</Peripheral>
</Value>
</Message>
</Invoke>
Referenced by: Perif Communications (PerifInvokeArguments)
Example
<Invoke name="GetImage" waitFor="ActionArgument" post="ucam://" >
<Message>
<Value>
<USBCameraParameters>
<ImageFormat></ImageFormat>
<SaveToDisk></SaveToDisk>
<ImageName></ImageName>
<Size>
<Height></Height>
<Width></Width>
</Size>
<Configuration>
<Standard></Standard>
<Quality></Quality>
<Channel></Channel>
<Brightness></Brightness>
<Contrast></Contrast>
<Gamma></Gamma>
<Gain></Gain>
<Sharpness></Sharpness>
<Saturation></Saturation>
<Hue></Hue>
</Configuration>
</USBCameraParameters>
</Value>
</Message>
</Invoke>
Referenced by:
Example
<Invoke name="GetImage" waitFor="ActionArgument" post="ucam://" >
<Message>
<Value>
<USBCameraParameters>
<ImageFormat></ImageFormat>
<SaveToDisk></SaveToDisk>
<ImageName></ImageName>
<Size>
<Height></Height>
<Width></Width>
</Size>
<Configuration>
<Standard></Standard>
<Quality></Quality>
<Channel></Channel>
<Brightness>]</Brightness>
<Contrast></Contrast>
<Gamma></Gamma>
<Gain></Gain>
<Sharpness></Sharpness>
<Saturation></Saturation>
<Hue></Hue>
</Configuration>
</USBCameraParameters>
</Value>
</Message>
</Invoke>
Referenced by: USBCam Communications (UcamInvokeArguments)
Example
<Invoke name="ReadValue" waitFor="Argument" post="smtp:<MailServer>" Hostname="<MailServer>">
<Message>
<Value>
<Port>[:Port:]</Port>
<Username>[:Username:]</Username>
<Password>[Password:]</Password>
<From>[:From:]</From>
<To>[:To:]</To>
<CC>[:CC:]</CC>
<Subject>[:Subject:]</Subject>
<Body>[:Body:]</Body>
<StartTLS>[:StartTLS:]</StartTLS>
</Value>
</Message>
</Invoke>
Referenced by:
Example
<Invoke name="ReadValue" waitFor="Argument" post="smtp:<MailServer>" Hostname="<MailServer>">
<Message>
<Value>
<Port>[:Port:]</Port>
<Username>[:Username:]</Username>
<Password>[Password:]</Password>
<From>[:From:]</From>
<To>[:To:]</To>
<CC>[:CC:]</CC>
<Subject>[:Subject:]</Subject>
<Body>[:Body:]</Body>
<StartTLS>[:StartTLS:]</StartTLS>
</Value>
</Message>
</Invoke>
Referenced by: SMTP Communications (CommonSMTPInvokeArguments)