Funnel-in Action Plugin



Overview

This action plug-in works in pair with a fan-out and provides a way to converge the multiple parallel threads back into one.

Saved Parameters Description

  • Name: The name used to identify a saved Funnel-In plugin configured instance.
  • Comments: Some comments about this saved Funnel-In plugin configured instance.
  • Funnel variable: The name of the variable to expose to capture the output for each fanned out step.
  • Type of the funnel variable: The type of the variable produced by the step for each fanned out step.
  • Funneled inputs: Capture the output of the all of the steps between Array fanout and Funnel-in step fail
  • Return statuses: Returns an extra output when checked which helps in determining the status of each step
  • Fail if any failures: If any of the steps between Array fanout and Funnel-in step fail, then fails the Funnel-in step also

Inputs Description

The list of inputs depends on the configuration of the FunnelIns action template.

This action captures the input from the Array fanout step, to close the loop on the number of steps that might have executed after the Array Fanout.

Outputs Description

This action will execute the following all the steps executed after the Array Fanout step.

  • Hash_by_state_id: An output, as a Hash, that is a map of the work step id that executed after Array Fanout step, and Funnel variable.

  • Status_by_state_id: An output, as a Hash, that is a map of the work step id that executed after Array Fanout step, and whether that step completed, failed or error.

Supported Actions

None

Dependencies

None

Operating Instructions

This action works in synergy with the Array Fanout.

When there are multiple values in an array, these two steps allow to execute the same action over each values in the array, in parallel. The action included between a Fan out and a Funnel in will be executed as many times as values in the input array.
Note: Only one step is supported between a fan out and the corresponding funnel in.
Important: By default, if one of the action steps (the step between a fan-out and the funnel-in) execution fails, all others will stop at the same time.

In order to guarantee that all parallel execution completes, make sure to link the complete, fail and error outputs to a logical OR and then to the corresponding Funnel-in step.