Rubiscape provides a feature that enables the execution of a complete workflow inside another workflow. This helps to execute multiple workflows with a single click.

To build a recursive workflow, follow the steps given below.

  1. Open the Workspace where you want to create your workflow. Refer to Changing Workspace.
  2. Create a Workflow. Refer to Creating a Workflow.
  3. Drag and drop Workflow Task on the canvas.



    (info)

    Notes:

    • Workflow task does not require any predecessor or successor. It can be used without connecting to a reader or any other algorithms.
    • You can connect reader nodes and other algorithm nodes to Workflow Task, if required. However, this is optional.
  4. Select Workflow Task.
    Properties are displayed in the right pane.
  5. From the Select Workflow drop-down, select the name of the workflow you want to execute in recursion.



  6. Save the workflow.
  7. Run the workflow. First, the workflow selected in step 6 is executed, and then the tasks in the current workflow are executed. After successful completion of all workflow execution, a confirmation message is displayed.

(info)

Notes:

  • You can only use workflows that belong to the same project.
  • You can add multiple workflows for recursive workflow task execution.
  • If you add more than one recursive workflow tasks in a workflow, you need to connect them to determine the execution sequence.
  • Adding predecessor or successor node to Workflow Task is optional. Even if you add predecessor or successor node, Workflow Task doesn’t take any input from its Predecessor and does not give any output to its Successor
  • If the Workflow Task has any connecting nodes (predecessor or successor), the workflow task is executed first, and then the rest of the nodes in the workflow are executed.
  • The workflow execution sequence is LIFO – Last In Fast Out.
    For example, If Workflow1 calls Workflow2, and Workflow 2 calls Workflow3 and you run Workflow1, then the execution sequence is - Workflow3 is executed first, followed by Workflow2 and in the end Workflow1 is executed.
  • If Workflow Task fails, then its successor will not be executed.