Call Workflow (Row Based)

This Node Is Deprecated — This version of the node has been replaced with a new and improved version. The old version is kept for backwards-compatibility, but for all new workflows we suggest to use the version linked below.
Go to Suggested ReplacementCall Workflow (Row Based)

This node passes JSON objects to a workflow, executes the workflow, and fetches the returned JSON objects. This happens once for each row in the input table, appending the fetched results for a row as new cells to the row.

Sending data. The called workflow can receive data from this node via the Container Input nodes, e.g., JSON, Row, or Table, which all expect a JSON object but make different assumptions on the structure of the object. For instance, Container Input (JSON) accepts any JSON object, while Container Input (Row) expects a JSON object where each key corresponds to a column name and the associated value denotes the according cell content.
What is passed to a specific Container Input node can be configured in this node's dialog. There are three options: pass the JSON contained in a selected column of the current input row, pass a static JSON (that can be overwritten by a flow variable), or send nothing, causing the default JSON object defined by the according Container Input node to be used.

Receiving data. The called workflow can send back data via Container Output nodes (Row, Table, or JSON). Each Container Output node will result in a column being appended to the output table.
Concurrent execution. Note that if the called workflow is local, concurrent calls to it will be processed sequentially. If the called workflow resides on a KNIME server, each call will result in a new job which can be executed in parallel with other jobs.

Options

Workflow

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, that is start, poll, poll, ..., finish, until the job completes (or fails). This option is reasonable for long running workflows where the overhead of regularly polling the status is negligible. 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.
Workflow path
The path of the workflow you want to call. If connected to a server, the path must be an absolute path (i.e., a path starting with "/") in the server's repository. If calling a workflow in the Local Workspace, the path may be absolute or relative (i.e., a path starting with "../"). You can either enter the path by hand or click on Browse Workflows and then select one of the workflows.
Input Parameters
After you have specified a workflow path, you will see the input parameters of the workflow. For each parameter, you can select if the data that is sent is taken from a JSON column, is a static JSON value, or is omitted (in this case, the value that is set up in the called workflow's Container Input node is used).
Create Report
If checked, the report associated with the remote workflow will be generated and put into the output table. The format can be chosen in the drop-down. The output table will contain a column containing the binary content of the report (column type: binary object); the column can be further processed, e.g. use a "Binary Objects to Files" node to write the content to a file, or use a database writer to write the report as BLOB into a database. Failures to generate the report (for instance, because no report is attached to the workflow) will result in a missing cell.

Advanced Settings

Workflow load timeout (only for remote execution)
The maximum amount of time to wait for the server 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 server 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
Connection to a KNIME server or mountpoint.
Icon
Any input, possibly with JSON column.

Output Ports

Icon
Input table with the result returned by the called workflows appended as new cells to each row.

Popular Predecessors

  • No recommendations found

Popular Successors

Views

This node has no views

Workflows

  • No workflows found

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.