api

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInstanceNotFound  = errors.New("no such instance exists")
	ErrNotStarted        = errors.New("orchestration has not started")
	ErrNotCompleted      = errors.New("orchestration has not yet completed")
	ErrNoFailures        = errors.New("orchestration did not report failure details")
	ErrDuplicateInstance = errors.New("orchestration instance already exists")
	ErrIgnoreInstance    = errors.New("ignore creating orchestration instance")

	EmptyInstanceID = InstanceID("")
)

Functions

This section is empty.

Types

type FetchOrchestrationMetadataOptions

type FetchOrchestrationMetadataOptions func(*protos.GetInstanceRequest)

GetOrchestrationMetadataOptions is a set of options for fetching orchestration metadata.

func WithFetchPayloads

func WithFetchPayloads(fetchPayloads bool) FetchOrchestrationMetadataOptions

WithFetchPayloads configures whether to load orchestration inputs, outputs, and custom status values, which could be large.

type InstanceID

type InstanceID string

InstanceID is a unique identifier for an orchestration instance.

type NewOrchestrationOptions

type NewOrchestrationOptions func(*protos.CreateInstanceRequest) error

NewOrchestrationOptions configures options for starting a new orchestration.

func WithInput

func WithInput(input any) NewOrchestrationOptions

WithInput configures an input for the orchestration. The specified input must be serializable.

func WithInstanceID

func WithInstanceID(id InstanceID) NewOrchestrationOptions

WithInstanceID configures an explicit orchestration instance ID. If not specified, a random UUID value will be used for the orchestration instance ID.

func WithOrchestrationIdReusePolicy

func WithOrchestrationIdReusePolicy(policy *protos.OrchestrationIdReusePolicy) NewOrchestrationOptions

WithOrchestrationIdReusePolicy configures Orchestration ID reuse policy.

func WithRawInput

func WithRawInput(rawInput string) NewOrchestrationOptions

WithRawInput configures an input for the orchestration. The specified input must be a string.

func WithStartTime

func WithStartTime(startTime time.Time) NewOrchestrationOptions

WithStartTime configures a start time at which the orchestration should start running. Note that the actual start time could be later than the specified start time if the task hub is under load or if the app is not running at the specified start time.

type OrchestrationIdReusePolicy

type OrchestrationIdReusePolicy = protos.OrchestrationIdReusePolicy

type OrchestrationMetadata

type OrchestrationMetadata struct {
	InstanceID             InstanceID
	Name                   string
	RuntimeStatus          protos.OrchestrationStatus
	CreatedAt              time.Time
	LastUpdatedAt          time.Time
	SerializedInput        string
	SerializedOutput       string
	SerializedCustomStatus string
	FailureDetails         *protos.TaskFailureDetails
}

func NewOrchestrationMetadata

func NewOrchestrationMetadata(
	iid InstanceID,
	name string,
	status protos.OrchestrationStatus,
	createdAt time.Time,
	lastUpdatedAt time.Time,
	serializedInput string,
	serializedOutput string,
	serializedCustomStatus string,
	failureDetails *protos.TaskFailureDetails,
) *OrchestrationMetadata

func (*OrchestrationMetadata) IsComplete

func (o *OrchestrationMetadata) IsComplete() bool

func (*OrchestrationMetadata) IsRunning

func (o *OrchestrationMetadata) IsRunning() bool

func (*OrchestrationMetadata) MarshalJSON

func (m *OrchestrationMetadata) MarshalJSON() ([]byte, error)

func (*OrchestrationMetadata) UnmarshalJSON

func (m *OrchestrationMetadata) UnmarshalJSON(data []byte) (err error)

type PurgeOptions

type PurgeOptions func(*protos.PurgeInstancesRequest) error

PurgeOptions is a set of options for purging an orchestration.

func WithRecursivePurge

func WithRecursivePurge(recursive bool) PurgeOptions

WithRecursivePurge configures whether to purge all sub-orchestrations created by the target orchestration.

type RaiseEventOptions

type RaiseEventOptions func(*protos.RaiseEventRequest) error

RaiseEventOptions is a set of options for raising an orchestration event.

func WithEventPayload

func WithEventPayload(data any) RaiseEventOptions

WithEventPayload configures an event payload. The specified payload must be serializable.

func WithRawEventData

func WithRawEventData(data string) RaiseEventOptions

WithRawEventData configures an event payload that is a raw, unprocessed string (e.g. JSON data).

type TerminateOptions

type TerminateOptions func(*protos.TerminateRequest) error

TerminateOptions is a set of options for terminating an orchestration.

func WithOutput

func WithOutput(data any) TerminateOptions

WithOutput configures an output for the terminated orchestration. The specified output must be serializable.

func WithRawOutput

func WithRawOutput(data string) TerminateOptions

WithRawOutput configures a raw, unprocessed output (i.e. pre-serialized) for the terminated orchestration.

func WithRecursiveTerminate

func WithRecursiveTerminate(recursive bool) TerminateOptions

WithRecursiveTerminate configures whether to terminate all sub-orchestrations created by the target orchestration.

Jump to

Keyboard shortcuts

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