Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
borderStylesolid
titleWfInput

Example

<Workflow>
  <Namespace name="WdlTest">
    <Task name="Input" while="true">
      <Output name="Command"/>
    </Task>
    <Task name="WdlTestTask">
      <Input name="Command" value="Input.Command"/>
      <Variable name="MyVar" type="int" value="3"/>
      <Invoke name="JexlTest">
        <JexlScript>

               var file = sffInvoke.getName()+".Variable.xml";
               var vars = sff:loadTxt(file);
               if(vars != null)
                      Variable = vars;
                      sffLog.info("JexlTest: MyVar="+Variable.MyVar);
                      var i = Variable.MyVar;
                      while((i = i - 1) ge 0)
                                 sffLog.info("JexlTest: "+i);
                      var sin1 = math:sin(PI / 2);
                      Variable.MyVar = Variable.MyVar + 1;
                      Variable.MyVar1 = Variable.MyVar;
                      Variable.add("MyVar1", Variable.MyVar + 1);
                      sff:saveTxt(file, Variable);
                      return Input.Command.toString().concat(Variable.MyVar.toString()).concat("5:").concat(sin1.toString());

        </JexlScript>
      </Invoke>
      <Output name="Result" value="[%:Invoke.JexlTest:%]"/>
    </Task>
    <Task name="Response">
      <Input name="Command" value="Input.Command"/>
      <Input name="Result" value="WdlTestTask.Result"/>
      <Invoke name="Respond" fid="wdl">
        <FacetScript>
          <DoResponse target="wdl:*">
            <Process>
              <Message type="json"xmlns="http://test">
                <Value>
                  <command>[%:Input.Command:%]</command>
                  <result>[%:Input.Result:%]</result>
                </Value>
              </Message>
            </Process>
          </DoResponse>
        </FacetScript>
      </Invoke>
    </Task>
  </Namespace>
</Workflow>


Referenced by: WfTask

Anchor
WfOutput grammar
WfOutput grammar
Gliffy
nameWfOutput grammar

Panel
borderStylesolid
titleWfOutput

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.

...

Panel
borderStylesolid
titleLogInvoke

Example

<Task name="Trigger">

  <!--Input name="Start" value="Event.RFID"/-->

  <Log level="info" name="Wait1" WaitFor="(Event1 or Event2) and (Event3 or Event4)" message="Trigger1 ([:WaitFor:])"/>

  <Log level="info" name="Wait2" WaitFor="Event1 and Event3" message="Trigger2 ([:WaitFor:])"/>

  <Log level="info" name="Wait3" WaitFor="Event2 and Event4" message="Trigger3 ([:WaitFor:])"/>

  <Log level="info" name="Wait4" WaitFor="(Event1 or Event2) and (Event3 or Event4)" message="Trigger4 ([:WaitFor:])"/>

  <Output name="Event1"/>

  <Output name="Event2"/>

  <Output name="Event3"/>

  <Output name="Event4"/>

</Task>


Referenced by:

...

Panel
borderStylesolid
titleCommonInvokeArguments
Example

<Workflow Limit="1" Live="1" Timeout="0">

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

    <Event name="Argument" as="ActionArgument"/>

    <Invoke name="ReadId" waitFor="Argument" get="[%:Event.Argument.URL.Value:%]"StopChar="0x0D" ReadTimeout="-1" WriteTimeout="-1" RepeatDelay="1"/>

    <Output name="Result" as="ActionResult">

      <Value>

        <RFID>[%:[%:@Output:%]Invoke.ReadId.Message.Value:%]</RFID>

      </Value>

    </Output>

  </Task>

</Workflow>

 

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).

...

Panel
borderStylesolid
titleScriptInvoke

Example

<Task name="WdlTestTask">
  <Input name="Command" value="Input.Command"/>
  <Variable name="MyVar" type="int" value="3"/>
  <Invoke name="JexlTest">
    <JexlScript>

          var file = sffInvoke.getName()+".Variable.xml";
          var vars = sff:loadTxt(file);
                if(vars != null)
                        Variable = vars;
                sffLog.info("JexlTest: MyVar="+Variable.MyVar);
                var i = Variable.MyVar;
                while((i = i - 1) ge 0)
                      sffLog.info("JexlTest: "+i);
                var sin1 = math:sin(PI / 2);
                Variable.MyVar = Variable.MyVar + 1;
                Variable.MyVar1 = Variable.MyVar;
                Variable.add("MyVar1", Variable.MyVar + 1);
                sff:saveTxt(file, Variable);
                return Input.Command.toString().concat(Variable.MyVar.toString()).concat("5:").concat(sin1.toString());

      </JexlScript>
  </Invoke>
  <Output name="Result" value="[%:Invoke.JexlTest:%]"/>
</Task>


Referenced by: InvokeGroup

...