Documentation
¶
Index ¶
- func ToYAML(ctx context.Context, workflow *Workflow) ([]byte, error)
- type Action
- type DesiredWorkerLabel
- type RandomScheduleOpt
- type RateLimit
- type RateLimitDuration
- type RateLimitOpts
- type StickyStrategy
- type WorkerLabelComparator
- type Workflow
- type WorkflowConcurrency
- type WorkflowConcurrencyLimitStrategy
- type WorkflowEvent
- type WorkflowJob
- type WorkflowOnCron
- type WorkflowStep
- type WorkflowTriggers
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Action ¶
type Action struct {
// Required. The service that this belongs to
Service string
// Required. The verb to perform.
Verb string
// Optional. A way to unique identify the step.
Subresource string
}
func ParseActionID ¶
ParseActionID parses an action ID into its constituent parts.
func (Action) IntegrationVerbString ¶
type DesiredWorkerLabel ¶
type DesiredWorkerLabel struct {
Value any `yaml:"value,omitempty"`
Required bool `yaml:"required,omitempty"`
Weight int32 `yaml:"weight,omitempty"`
Comparator *WorkerLabelComparator `yaml:"comparator,omitempty"`
}
type RandomScheduleOpt ¶
type RandomScheduleOpt string
const ( Random15Min RandomScheduleOpt = "random_15_min" RandomHourly RandomScheduleOpt = "random_hourly" RandomDaily RandomScheduleOpt = "random_daily" )
type RateLimitDuration ¶
type RateLimitDuration string
const ( Second RateLimitDuration = "second" Minute RateLimitDuration = "minute" Hour RateLimitDuration = "hour" Day RateLimitDuration = "day" Week RateLimitDuration = "week" Month RateLimitDuration = "month" Year RateLimitDuration = "year" )
type RateLimitOpts ¶
type RateLimitOpts struct {
Max int
Duration RateLimitDuration
}
type StickyStrategy ¶
type StickyStrategy int32
const ( StickyStrategy_SOFT StickyStrategy = 0 StickyStrategy_HARD StickyStrategy = 1 )
func StickyStrategyPtr ¶
func StickyStrategyPtr(v StickyStrategy) *StickyStrategy
type WorkerLabelComparator ¶
type WorkerLabelComparator int32
const ( WorkerLabelComparator_EQUAL WorkerLabelComparator = 0 WorkerLabelComparator_NOT_EQUAL WorkerLabelComparator = 1 WorkerLabelComparator_GREATER_THAN WorkerLabelComparator = 2 WorkerLabelComparator_GREATER_THAN_OR_EQUAL WorkerLabelComparator = 3 WorkerLabelComparator_LESS_THAN WorkerLabelComparator = 4 WorkerLabelComparator_LESS_THAN_OR_EQUAL WorkerLabelComparator = 5 )
func ComparatorPtr ¶
func ComparatorPtr(v WorkerLabelComparator) *WorkerLabelComparator
type Workflow ¶
type Workflow struct {
Name string `yaml:"name,omitempty"`
ScheduleTimeout string `yaml:"scheduleTimeout,omitempty"`
Concurrency *WorkflowConcurrency `yaml:"concurrency,omitempty"`
Version string `yaml:"version,omitempty"`
Description string `yaml:"description,omitempty"`
Triggers WorkflowTriggers `yaml:"triggers"`
Jobs map[string]WorkflowJob `yaml:"jobs"`
OnFailureJob *WorkflowJob `yaml:"onFailureJob,omitempty"`
StickyStrategy *StickyStrategy `yaml:"sticky,omitempty"`
}
func DefaultLoader ¶
func DefaultLoader() []*Workflow
func ReadAllValidFilesInDir ¶
func ReadHatchetYAMLFileBytes ¶
ReadHatchetYAMLFileBytes reads a given YAML file from a filepath and return the parsed workflow file
type WorkflowConcurrency ¶
type WorkflowConcurrency struct {
ActionID *string `yaml:"action,omitempty"`
Expression *string `yaml:"expression,omitempty"`
MaxRuns int32 `yaml:"maxRuns,omitempty"`
LimitStrategy WorkflowConcurrencyLimitStrategy `yaml:"limitStrategy,omitempty"`
}
type WorkflowConcurrencyLimitStrategy ¶
type WorkflowConcurrencyLimitStrategy string
const ( CancelInProgress WorkflowConcurrencyLimitStrategy = "CANCEL_IN_PROGRESS" CancelNewest WorkflowConcurrencyLimitStrategy = "CANCEL_NEWEST" GroupRoundRobin WorkflowConcurrencyLimitStrategy = "GROUP_ROUND_ROBIN" )
type WorkflowEvent ¶
type WorkflowEvent struct {
Name string `yaml:"name,omitempty"`
}
type WorkflowJob ¶
type WorkflowJob struct {
Description string `yaml:"description,omitempty"`
Steps []WorkflowStep `yaml:"steps"`
}
type WorkflowOnCron ¶
type WorkflowOnCron struct {
Schedule string `yaml:"schedule,omitempty"`
}
type WorkflowStep ¶
type WorkflowStep struct {
Name string `yaml:"name,omitempty"`
ID string `yaml:"id,omitempty"`
ActionID string `yaml:"action"`
Timeout string `yaml:"timeout,omitempty"`
// Deprecated: this field has no effect and will be removed in a future release.
With map[string]interface{} `yaml:"with,omitempty"`
UserData map[string]interface{} `yaml:"userData,omitempty"`
Parents []string `yaml:"parents,omitempty"`
Retries int `yaml:"retries"`
RateLimits []RateLimit `yaml:"rateLimits,omitempty"`
DesiredLabels map[string]*DesiredWorkerLabel `yaml:"desiredLabels,omitempty"`
RetryBackoffFactor *float32 `yaml:"retryBackoffFactor,omitempty"`
RetryMaxBackoffSeconds *int32 `yaml:"retryMaxBackoffSeconds,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.