Documentation ¶
Index ¶
- Constants
- type Action
- type ActionEvent
- type ActionEventResponse
- type ActionEventType
- type ActionPayload
- type ActionType
- type AdminClient
- type ChildWorkflowOpts
- type Client
- type ClientEventListener
- type ClientOpt
- type ClientOpts
- type DispatcherClient
- type EventClient
- type GetActionListenerRequest
- type ListenerStrategy
- type PutOptFunc
- type RunEvent
- type RunHandler
- type ScheduleOptFunc
- type StreamEvent
- type StreamHandler
- type SubscribeClient
- type WorkerActionListener
Constants ¶
View Source
const ( DefaultActionListenerRetryInterval = 5 * time.Second DefaultActionListenerRetryCount = 5 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct { // the worker id WorkerId string // the tenant id TenantId string // the workflow run id WorkflowRunId string // the get group key run id GetGroupKeyRunId string // the job id JobId string // the job name JobName string // the job run id JobRunId string // the step id StepId string // the step name StepName string // the step run id StepRunId string // the action id ActionId string // the action payload ActionPayload []byte // the action type ActionType ActionType }
type ActionEvent ¶
type ActionEvent struct { *Action // the event timestamp EventTimestamp *time.Time // the step event type EventType ActionEventType // The event payload. This must be JSON-compatible as it gets marshalled to a JSON string. EventPayload interface{} }
type ActionEventResponse ¶
type ActionEventType ¶
type ActionEventType string
const ( ActionEventTypeUnknown ActionEventType = "STEP_EVENT_TYPE_UNKNOWN" ActionEventTypeStarted ActionEventType = "STEP_EVENT_TYPE_STARTED" ActionEventTypeCompleted ActionEventType = "STEP_EVENT_TYPE_COMPLETED" ActionEventTypeFailed ActionEventType = "STEP_EVENT_TYPE_FAILED" )
type ActionPayload ¶
type ActionPayload func(target interface{}) error
ActionPayload unmarshals the action payload into the target. It also validates the resulting target.
type ActionType ¶
type ActionType string
const ( ActionTypeStartStepRun ActionType = "START_STEP_RUN" ActionTypeCancelStepRun ActionType = "CANCEL_STEP_RUN" ActionTypeStartGetGroupKey ActionType = "START_GET_GROUP_KEY" )
type AdminClient ¶
type AdminClient interface { PutWorkflow(workflow *types.Workflow, opts ...PutOptFunc) error ScheduleWorkflow(workflowName string, opts ...ScheduleOptFunc) error // RunWorkflow triggers a workflow run and returns the run id RunWorkflow(workflowName string, input interface{}) (string, error) RunChildWorkflow(workflowName string, input interface{}, opts *ChildWorkflowOpts) (string, error) PutRateLimit(key string, opts *types.RateLimitOpts) error }
type ChildWorkflowOpts ¶ added in v0.18.0
type Client ¶
type Client interface { Admin() AdminClient Dispatcher() DispatcherClient Event() EventClient Subscribe() SubscribeClient API() *rest.ClientWithResponses TenantId() string }
func NewFromConfigFile ¶ added in v0.11.0
func NewFromConfigFile(cf *client.ClientConfigFile, fs ...ClientOpt) (Client, error)
type ClientEventListener ¶ added in v0.9.0
type ClientOpt ¶
type ClientOpt func(*ClientOpts)
func InitWorkflows ¶
func InitWorkflows() ClientOpt
func WithHostPort ¶
func WithLogLevel ¶ added in v0.18.1
func WithTenantId ¶
func WithWorkflows ¶
WithWorkflows sets the workflow files to use for the worker. If this is not passed in, the workflows files will be loaded from the .hatchet folder in the current directory.
type ClientOpts ¶
type ClientOpts struct {
// contains filtered or unexported fields
}
type DispatcherClient ¶
type DispatcherClient interface { GetActionListener(ctx context.Context, req *GetActionListenerRequest) (WorkerActionListener, error) SendStepActionEvent(ctx context.Context, in *ActionEvent) (*ActionEventResponse, error) SendGroupKeyActionEvent(ctx context.Context, in *ActionEvent) (*ActionEventResponse, error) }
type EventClient ¶
type GetActionListenerRequest ¶
type GetActionListenerRequest struct { WorkerName string Services []string Actions []string MaxRuns *int }
TODO: add validator to client side
type ListenerStrategy ¶ added in v0.18.1
type ListenerStrategy string
const ( ListenerStrategyV1 ListenerStrategy = "v1" ListenerStrategyV2 ListenerStrategy = "v2" )
type PutOptFunc ¶
type PutOptFunc func(*putOpts)
type RunEvent ¶ added in v0.18.0
type RunEvent *dispatchercontracts.WorkflowEvent
type RunHandler ¶ added in v0.9.0
type ScheduleOptFunc ¶
type ScheduleOptFunc func(*scheduleOpts)
func WithInput ¶
func WithInput(input any) ScheduleOptFunc
func WithSchedules ¶
func WithSchedules(schedules ...time.Time) ScheduleOptFunc
type StreamEvent ¶ added in v0.19.0
type StreamEvent struct {
Message []byte
}
type StreamHandler ¶ added in v0.19.0
type StreamHandler func(event StreamEvent) error
type SubscribeClient ¶ added in v0.19.0
type SubscribeClient interface { On(ctx context.Context, workflowRunId string, handler RunHandler) error Stream(ctx context.Context, workflowRunId string, handler StreamHandler) error }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.