Call Workflow (Table Based)

This node can be used to call other workflows that reside either locally or remotely on the KNIME Hub. The called workflow may contain one or multiple of the following nodes to receive data from the workflow containing this node:

  • Container Input (Table)
  • Container Input (Variable)
  • Container Input (Credentials)
It may also contain a Container Output (Table) node to define the interface between this workflow and the called workflow in the following way:

Send Table. The data table provided at the input of the Call Workflow (Table Based) node can be sent to a Container Input (Table) node in the called workflow via the input parameter defined in the Container Input (Table) node

Receive Table. After the execution of the called workflow, a data table can be received from a Container Output (Table) node in the called workflow via the output parameter defined in the Container Output (Table) node. The received data table will be made available at the output port of the Call Workflow (Table Based) node

Send Flow Variables. Certain flow variables available in the Call Workflow (Table Based) node can be sent to a Container Input (Variable) node in the called workflow. Currently, neither boolean, long, nor list or set flow variables are supported and will be ignored without warning. The supported types are mostly converted to string flow variables (e.g., path or URI flow variables), except for integer flow variables and non-NaN double flow variables. Note that the Call Workflow Service node supports all flow variable types.

Send Flow Credentials. All flow credentials available in the Call Workflow (Table Based) node can be sent to a Container Input (Credential) node in the called workflow via the credential-input defined in the Container Input (Credential) node

To call workflows on a KNIME Hub, a KNIME Space Connector node must be connected to this node. You can add a File System Connection port by clicking on the three dots on the node.

Options

Workflow

Remote execution address
Displays the address of the connected remote executor.
Short duration (only for remote execution)
Choose this if the called workflow is expected to finish within ten seconds. When selected, the invocation of the workflow will not poll its status but wait until the job completes (or fails). This removes the polling overhead and makes this option quicker for short-running workflows. Choosing this option for long-running workflows (> a minute) will cause timeout problems.
Long duration (only for remote execution)
Choose this if the called workflow is expected to run for more than ten seconds. When selected, the invocation of the workflow will poll its status repeatedly until the job completes (or fails). The polling is implemented so that for the first few seconds there will be frequent status checks (poll interval 100ms or 500ms), whereas jobs that run minutes or hours will be checked only every few seconds.
Retain job on failure (only for remote execution)
When selected, failing jobs of the called workflow will be kept on the remote executor. This can be useful for debugging purposes. When not selected, the failing jobs will be discarded.
Discard job on successful execution (only for remote execution)
When selected, successful jobs of the called workflow will be discarded from the remote executor. When not selected, successful jobs will be kept.
Workflow path
The path to the workflow you want to call. Use the "Browse..." button to select. The selected path can be set via a path flow variable or exported to a path flow variable.
Deployment
The deployed workflow to execute. Use the "Browse..." button to select. This option is only visible when the node is connected to a KNIME Hub Authenticator node.
Execution context
Only for workflows on a KNIME Hub. The workflow will be executed in the selected context. An execution context of a hub space defines for instance the installed extensions, available credentials, and the pool from which computation resources are used when the service is invoked.
Advanced Settings
After a workflow has been selected, the input table can be directed to a desired Container Input (Table) node, the output table can be fetched from a desired Container Output (Table) node, and all flow variables/credentials can be pushed to a desired Container Input (Variable)/Container Input (Credentials) in the called workflow. This routing is done via drop down menus showing all available parameters in the selected workflow.
Use Fully Qualified Name for Input and Output Parameters
If checked, use the full parameter name to select the input and output. The parameter names are defined by the user in the configuration dialog of each of the parameters (like Container Input (Table) and Container Output (Table)node), e.g. "timeout", "count", etc. Using these 'simple names' may lead to duplicates, hence a 'fully qualified name' is constructed by appending a suffix, e.g. "timeout-1" or "count-5:6". While these suffixes guarantee unique parameter names across one workflow they may cause names not to match in case you call out to different workflows (e.g. in a loop). It's good practice to (manually) ensure that parameter names in the called workflow are unique and hence often the 'simple name' is sufficient (= do not check the box).

In the case a parameter defined in any of the Container Input (Table), Container Output (Table) or Container Input (Variable) nodes is not unique, the node ID will be appended to the parameter even though the use fully qualified names check box has not been checked.

Advanced Settings

Workflow load timeout (only for remote execution)
The maximum amount of time to wait for the remote executor when trying to initialize remote workflow execution. Specified in seconds. A value of 0 means that no timeout will be used.
Fetch workflow parameters timeout (only for remote execution)
The maximum amount of time to wait for the remote executor when fetching the input and output parameters of the called workflow. Specified in seconds. A value of 0 means that no timeout will be used.
Job Status Polling (only for remote execution)
During asynchronous invocation (option "Long Duration"), if a HTTP 5XX error occurs when polling for the job status, the node will retry the request. The node will wait a certain amount of time before each retry. The time to wait before the n-th attempt is determined by base * multiplier^n. Use a multiplier of 1 for a constant backoff, or a multiplier greater than 1 for an exponential backoff. Set the number of retries to 0 to disable retrying.

Input Ports

Icon
The data to send to the callee workflow.
An optional connection to a file system that contains the callee workflow or a hub instance that provides deployed workflows. The callee workflow will be executed where it is located, e.g., on the KNIME Hub. If a Hub Authenticator is connected, only workflows that have previously been deployed can be executed. If a Space Connector or Mountpoint connector is connected, any workflow can be selected and executed.

Output Ports

Icon
Data returned by the callee workflow.

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.