merge

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ChannelNameSuccess = "success"
	ChannelNameTimeout = "timeout"
	ChannelNameFail    = "fail"
)

Output channel names for Merge component

Variables

This section is empty.

Functions

This section is empty.

Types

type ExecutionMetadata

type ExecutionMetadata struct {
	// GroupKey is a logical key used to correlate queue items into a single execution
	GroupKey string `json:"groupKey,omitempty" mapstructure:"groupKey"`

	// EventIDs collects upstream event ids that reached this merge
	EventIDs []string `json:"eventIDs,omitempty" mapstructure:"eventIDs"`

	// Sources collects distinct upstream source nodes that reached this merge
	SourceNodes []SourceNode `json:"sourceNodes,omitempty" mapstructure:"sourceNodes"`

	// StopEarly indicates the merge was short-circuited based on a stop condition
	StopEarly bool `json:"stopEarly,omitempty" mapstructure:"stopEarly"`
}

* The execution metadata associated with a merge component * holds information about the grouping of events.

func (*ExecutionMetadata) HasReceivedAll added in v0.16.0

func (m *ExecutionMetadata) HasReceivedAll() bool

func (*ExecutionMetadata) UpdateSource added in v0.16.0

func (m *ExecutionMetadata) UpdateSource(nodeID string)

type Merge

type Merge struct{}

func (*Merge) Cancel

func (m *Merge) Cancel(ctx core.ExecutionContext) error

func (*Merge) Cleanup added in v0.7.0

func (m *Merge) Cleanup(ctx core.SetupContext) error

func (*Merge) Color

func (m *Merge) Color() string

func (*Merge) Configuration

func (m *Merge) Configuration() []configuration.Field

func (*Merge) Description

func (m *Merge) Description() string

func (*Merge) Documentation added in v0.1.6

func (m *Merge) Documentation() string

func (*Merge) ExampleOutput added in v0.0.45

func (m *Merge) ExampleOutput() map[string]any

func (*Merge) Execute

func (m *Merge) Execute(ctx core.ExecutionContext) error

func (*Merge) HandleHook added in v0.18.0

func (m *Merge) HandleHook(ctx core.ActionHookContext) error

func (*Merge) HandleTimeout

func (m *Merge) HandleTimeout(ctx core.ActionHookContext) error

func (*Merge) HandleWebhook

func (m *Merge) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*Merge) Hooks added in v0.18.0

func (m *Merge) Hooks() []core.Hook

func (*Merge) Icon

func (m *Merge) Icon() string

func (*Merge) Label

func (m *Merge) Label() string

func (*Merge) Name

func (m *Merge) Name() string

func (*Merge) OutputChannels

func (m *Merge) OutputChannels(configuration any) []core.OutputChannel

func (*Merge) ProcessQueueItem

func (m *Merge) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*Merge) Setup

func (m *Merge) Setup(ctx core.SetupContext) error

type SourceNode added in v0.16.0

type SourceNode struct {
	NodeID     string  `json:"nodeId,omitempty" mapstructure:"nodeId"`
	ReceivedAt *string `json:"receivedAt,omitempty" mapstructure:"receivedAt"`
}

type Spec

type Spec struct {
	// EnableTimeout toggles the execution timeout feature
	EnableTimeout bool `json:"enableTimeout" mapstructure:"enableTimeout"`

	ExecutionTimeout struct {
		Value int    `json:"value"`
		Unit  string `json:"unit"`
	} `json:"executionTimeout"`

	// EnableStopIf toggles the conditional stop feature
	EnableStopIf bool `json:"enableStopIf" mapstructure:"enableStopIf"`

	// Optional expression to short-circuit waiting for all inputs.
	// The expression is evaluated against the incoming event input using
	// the Expr language with the input bound to the variable '$'.
	// If it evaluates to true, the merge finishes immediately.
	StopIfExpression string `json:"stopIfExpression" mapstructure:"stopIfExpression"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL