invariants

package
v1.2.14-prerelease02 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivityTimeoutMetadata

type ActivityTimeoutMetadata struct {
	TimeoutType       *types.TimeoutType
	ConfiguredTimeout time.Duration
	TimeElapsed       time.Duration
	RetryPolicy       *types.RetryPolicy
	HeartBeatTimeout  time.Duration
	Tasklist          *types.TaskList
}

type ChildWfTimeoutMetadata

type ChildWfTimeoutMetadata struct {
	ExecutionTime     time.Duration
	ConfiguredTimeout time.Duration
	Execution         *types.WorkflowExecution
}

type DecisionTimeoutMetadata

type DecisionTimeoutMetadata struct {
	ConfiguredTimeout time.Duration
}

type ExecutionTimeoutMetadata

type ExecutionTimeoutMetadata struct {
	ExecutionTime     time.Duration
	ConfiguredTimeout time.Duration
	Tasklist          *types.TaskList
	LastOngoingEvent  *types.HistoryEvent
}

type HeartbeatingMetadata

type HeartbeatingMetadata struct {
	TimeElapsed time.Duration
}

type Invariant

type Invariant interface {
	Check(context.Context) ([]InvariantCheckResult, error)
	RootCause(context.Context, []InvariantCheckResult) ([]InvariantRootCauseResult, error)
}

Invariant represents a condition of a workflow execution.

func NewTimeout

func NewTimeout(p NewTimeoutParams) Invariant

type InvariantCheckResult

type InvariantCheckResult struct {
	InvariantType string
	Reason        string
	Metadata      []byte
}

InvariantCheckResult is the result from the invariant check

type InvariantRootCauseResult

type InvariantRootCauseResult struct {
	RootCause RootCause
	Metadata  []byte
}

InvariantRootCauseResult is the root cause for the issues identified in the invariant check

type NewTimeoutParams

type NewTimeoutParams struct {
	WorkflowExecutionHistory *types.GetWorkflowExecutionHistoryResponse
	Domain                   string
	ClientBean               client.Bean
}

type PollersMetadata

type PollersMetadata struct {
	TaskListBacklog int64
}

type RootCause

type RootCause string
const (
	RootCauseTypeMissingPollers                      RootCause = "There are no pollers for the tasklist"
	RootCauseTypePollersStatus                       RootCause = "There are pollers for the tasklist. Check backlog status"
	RootCauseTypeHeartBeatingNotEnabled              RootCause = "HeartBeating not enabled for activity"
	RootCauseTypeHeartBeatingEnabledMissingHeartbeat RootCause = "HeartBeating enabled for activity but timed out due to missing heartbeat"
)

func (RootCause) String

func (r RootCause) String() string

type Timeout

type Timeout Invariant

type TimeoutType

type TimeoutType string
const (
	TimeoutTypeExecution     TimeoutType = "The Workflow Execution has timed out"
	TimeoutTypeActivity      TimeoutType = "Activity task has timed out"
	TimeoutTypeDecision      TimeoutType = "Decision task has timed out"
	TimeoutTypeChildWorkflow TimeoutType = "Child Workflow Execution has timed out"
)

func (TimeoutType) String

func (tt TimeoutType) String() string

Jump to

Keyboard shortcuts

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