Call Remote Workflow (Row Based)

This Node Is Deprecated — This node is kept for backwards-compatibility, but the usage in new workflows is no longer recommended. The documentation below might contain more information.

This node can be used to call other workflows that reside on a KNIME Server. Input data can be passed to Quickform Input nodes (only the new input nodes, e.g Container Input (JSON)) in the other workflow and results can likewise be read back as a JSON value from JSON Output nodes(e.g Container Output (JSON)). The input can either be a static JSON values provided via the dialog (which itself can be overridden by a flow variable) or from a JSON column in the input table. The node will call the other workflow with every row of the input table and append the results of the call to it.
The node will call the other workflow with every row of the input table and append the results of the call to it. The same remote workflow can be called by multiple nodes at the same time, a new job is created on the server for each node.

Options

Workflow

Server address
The address to the KNIME Server's REST interface. This is usually something like http://server:8080/knime/rest.
User
The username on the server.
Password
The user's password the server.
Short duration: the workflow is expected to run quickly, less than 10 seconds (only applies if the called workflow is executed on a KNIME server)
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: the workflow is expected to run longer than 10 seconds (only applies if the called workflow is executed on a KNIME server)
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.
Asynchronous Invocation
The user's password the server.
Workflow path
The path of the workflow on the server you want to call. The path must an absolute path in the server's repository. You can either enter the path by hand, or click on List available workflows and then select a workflow in the dropdown list.
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.
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 JSON In/Output 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).
Inputs
After you have loaded the input format you will see an input block for every input node in the called workflow. You can select if you want to use a static value or the value of a column for the respective input field or use the default value (that is the value that is set up in the workflow being called).

Advanced Settings

Workflow load timeout
The timeout to use when loading the workflow on the server. Specified in seconds. A value of 0 means that no timeout will be used.
Server connection timeout
The maximum amount of time to wait when establishing a connection to the server. Specified in seconds. A value of 0 means that no timeout will be used.
Server read timeout
The maximum amount of time to wait when waiting for a response from the server. This applies to requests made after the workflow job has been loaded. Specified in seconds. A value of 0 means that no timeout will be used.
Job Status Polling
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 linear, or greater than 1 for an exponential backoff. Set the number of retries to 0 to disable retrying.

Input Ports

Icon
Any input, possibly with JSON column.

Output Ports

Icon
Output of workflow call

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.