workflow

package
v1.1.677 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine contains the workflow processing functions

func New added in v1.0.477

func New(ns NatsService) (*Engine, error)

New returns an instance of the core workflow engine.

func (*Engine) CancelProcessInstance added in v1.0.645

func (c *Engine) CancelProcessInstance(ctx context.Context, state *model.WorkflowState) error

CancelProcessInstance cancels a workflow instance with a reason.

func (*Engine) CompleteManualTask added in v0.1.86

func (c *Engine) CompleteManualTask(ctx context.Context, job *model.WorkflowState, newvars []byte) error

CompleteManualTask completes a manual workflow task

func (*Engine) CompleteSendMessageTask added in v1.0.235

func (c *Engine) CompleteSendMessageTask(ctx context.Context, job *model.WorkflowState, newvars []byte) error

CompleteSendMessageTask completes a send message task

func (*Engine) CompleteServiceTask added in v0.1.86

func (c *Engine) CompleteServiceTask(ctx context.Context, job *model.WorkflowState, newvars []byte) error

CompleteServiceTask completes a workflow service task

func (*Engine) CompleteUserTask added in v0.1.86

func (c *Engine) CompleteUserTask(ctx context.Context, job *model.WorkflowState, newvars []byte) error

CompleteUserTask completes and closes a user task with variables

func (*Engine) Launch

func (c *Engine) Launch(ctx context.Context, processName string, vars []byte) (string, string, error)

Launch starts a new instance of a workflow and returns an execution Id.

func (*Engine) LoadWorkflow

func (c *Engine) LoadWorkflow(ctx context.Context, model *model.Workflow) (string, error)

LoadWorkflow loads a model.Process describing a workflow into the engine ready for execution.

func (*Engine) Shutdown

func (c *Engine) Shutdown()

Shutdown gracefully stops the engine.

func (*Engine) Start

func (c *Engine) Start(ctx context.Context) error

Start sets up the activity and job processors and starts the engine processing workflows.

type NatsService

type NatsService interface {
	CheckProcessTaskDeprecation(ctx context.Context, workflow *model.Workflow, processName string) error
	CloseUserTask(ctx context.Context, trackingID string) error
	Conn() common.NatsConn
	CreateExecution(ctx context.Context, wfInstance *model.Execution) (*model.Execution, error)
	CreateJob(ctx context.Context, job *model.WorkflowState) (string, error)
	CreateProcessInstance(ctx context.Context, workflowInstanceID string, parentProcessID string, parentElementID string, processName string, workflowName string, workflowId string) (*model.ProcessInstance, error)
	DeleteJob(ctx context.Context, trackingID string) error
	DestroyProcessInstance(ctx context.Context, state *model.WorkflowState, pi *model.ProcessInstance, wi *model.Execution) error
	EnsureServiceTaskConsumer(uid string) error
	GetElement(ctx context.Context, state *model.WorkflowState) (*model.Element, error)
	GetExecution(ctx context.Context, workflowInstanceID string) (*model.Execution, error)
	GetGatewayInstance(ctx context.Context, gatewayInstanceID string) (*model.Gateway, error)
	GetGatewayInstanceID(state *model.WorkflowState) (string, string, error)
	GetJob(ctx context.Context, id string) (*model.WorkflowState, error)
	GetLatestVersion(ctx context.Context, workflowName string) (string, error)
	GetOldState(ctx context.Context, id string) (*model.WorkflowState, error)
	GetProcessHistory(ctx context.Context, processInstanceId string) ([]*model.ProcessHistoryEntry, error)
	GetProcessInstance(ctx context.Context, processInstanceID string) (*model.ProcessInstance, error)
	GetTaskSpecByUID(ctx context.Context, uid string) (*model.TaskSpec, error)
	GetTaskSpecUID(ctx context.Context, name string) (string, error)
	GetWorkflow(ctx context.Context, workflowID string) (*model.Workflow, error)
	GetWorkflowNameFor(ctx context.Context, processName string) (string, error)
	GetWorkflowVersions(ctx context.Context, workflowName string) (*model.WorkflowVersions, error)
	ListExecutionProcesses(ctx context.Context, id string) ([]string, error)
	ListExecutions(ctx context.Context, workflowName string) (chan *model.ListExecutionResult, chan error)
	ListWorkflows(ctx context.Context) (chan *model.ListWorkflowResult, chan error)
	OwnerID(name string) (string, error)
	OwnerName(id string) (string, error)
	PublishMessage(ctx context.Context, name string, key string, vars []byte) error
	PublishWorkflowState(ctx context.Context, stateName string, state *model.WorkflowState, ops ...storage.PublishOpt) error
	PutTaskSpec(ctx context.Context, spec *model.TaskSpec) (string, error)
	RecordHistoryActivityComplete(ctx context.Context, state *model.WorkflowState) error
	RecordHistoryActivityExecute(ctx context.Context, state *model.WorkflowState) error
	RecordHistoryProcessAbort(ctx context.Context, state *model.WorkflowState) error
	RecordHistoryProcessComplete(ctx context.Context, state *model.WorkflowState) error
	RecordHistoryProcessSpawn(ctx context.Context, state *model.WorkflowState, newProcessInstanceID string) error
	RecordHistoryProcessStart(ctx context.Context, state *model.WorkflowState) error
	SaveState(ctx context.Context, id string, state *model.WorkflowState) error
	SetAbort(processor services.AbortFunc)
	SetCompleteActivity(processor services.CompleteActivityFunc)
	SetCompleteActivityProcessor(processor services.CompleteActivityProcessorFunc)
	SetCompleteJobProcessor(processor services.CompleteJobProcessorFunc)
	SetEventProcessor(processor services.EventProcessorFunc)
	SetLaunchFunc(processor services.LaunchFunc)
	SetMessageProcessor(processor services.MessageProcessorFunc)
	SetTraversalProvider(provider services.TraversalFunc)
	Shutdown()
	StartProcessing(ctx context.Context) error
	StoreWorkflow(ctx context.Context, wf *model.Workflow) (string, error)
	XDestroyProcessInstance(ctx context.Context, state *model.WorkflowState) error
}

NatsService is the shar type responsible for interacting with NATS.

Jump to

Keyboard shortcuts

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