Documentation ¶
Index ¶
- func WithConcurrency(n int) concurrency
- func WithEphemeralStorage() ephemeralStorage
- type Client
- func (c *Client) CancelProcessInstance(ctx context.Context, executionID string) error
- func (c *Client) CompleteUserTask(ctx context.Context, owner string, trackingID string, newVars model.Vars) error
- func (c *Client) Dial(ctx context.Context, natsURL string, opts ...nats.Option) error
- func (c *Client) GetJob(ctx context.Context, id string) (*model.WorkflowState, error)
- func (c *Client) GetProcessHistory(ctx context.Context, processInstanceId string) (*model.GetProcessHistoryResponse, error)
- func (c *Client) GetProcessInstanceStatus(ctx context.Context, id string) (*model.GetProcessInstanceStatusResult, error)
- func (c *Client) GetServerInstanceStats(ctx context.Context) (*model.WorkflowStats, error)
- func (c *Client) GetServerVersion(ctx context.Context) (*version.Version, error)
- func (c *Client) GetTaskSpecByUID(ctx context.Context, uid string) (*model.TaskSpec, error)
- func (c *Client) GetUserTask(ctx context.Context, owner string, trackingID string) (*model.GetUserTaskResponse, model.Vars, error)
- func (c *Client) GetWorkflow(ctx context.Context, id string) (*model.Workflow, error)
- func (c *Client) GetWorkflowVersions(ctx context.Context, name string) (*model.WorkflowVersions, error)
- func (c *Client) HasWorkflowDefinitionChanged(ctx context.Context, name string, b []byte) (bool, error)
- func (c *Client) LaunchProcess(ctx context.Context, processName string, mvars model.Vars) (string, string, error)
- func (c *Client) ListExecution(ctx context.Context, name string) ([]*model.ListExecutionResult, error)
- func (c *Client) ListExecutionProcesses(ctx context.Context, id string) (*model.ListExecutionProcessesResult, error)
- func (c *Client) ListUserTaskIDs(ctx context.Context, owner string) (*model.UserTasks, error)
- func (c *Client) ListWorkflows(ctx context.Context) ([]*model.ListWorkflowResult, error)
- func (c *Client) Listen(ctx context.Context) error
- func (c *Client) LoadBPMNWorkflowFromBytes(ctx context.Context, name string, b []byte) (string, error)
- func (c *Client) RegisterMessageSender(ctx context.Context, workflowName string, messageName string, sender SenderFn) error
- func (c *Client) RegisterProcessComplete(processId string, fn ProcessTerminateFn) error
- func (c *Client) RegisterServiceTask(ctx context.Context, taskName string, fn ServiceFn) error
- func (c *Client) RegisterTask(ctx context.Context, spec *model.TaskSpec, fn ServiceFn) error
- func (c *Client) SendMessage(ctx context.Context, name string, key any, mvars model.Vars) error
- type FixedIDOption
- type JobClient
- type LogClient
- type MessageClient
- type Option
- type ProcessTerminateFn
- type RegOpt
- type SenderFn
- type ServiceFn
- type TaskSpecOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithConcurrency ¶ added in v1.0.320
func WithConcurrency(n int) concurrency
WithConcurrency specifies the number of threads to process each service task.
func WithEphemeralStorage ¶ added in v0.1.175
func WithEphemeralStorage() ephemeralStorage
WithEphemeralStorage specifies a client store the result of all operations in memory.
Types ¶
type Client ¶
type Client struct { SvcTasks map[string]ServiceFn MsgSender map[string]SenderFn ExpectedCompatibleServerVersion *version.Version ExpectedServerVersion *version.Version // contains filtered or unexported fields }
Client implements a SHAR client capable of listening for service task activations, listening for Workflow Messages, and interating with the API
func (*Client) CancelProcessInstance ¶ added in v1.0.645
CancelProcessInstance cancels a running Process Instance.
func (*Client) CompleteUserTask ¶
func (c *Client) CompleteUserTask(ctx context.Context, owner string, trackingID string, newVars model.Vars) error
CompleteUserTask completes a task and sends the variables back to the workflow
func (*Client) GetProcessHistory ¶ added in v1.0.477
func (c *Client) GetProcessHistory(ctx context.Context, processInstanceId string) (*model.GetProcessHistoryResponse, error)
GetProcessHistory gets the history for a process.
func (*Client) GetProcessInstanceStatus ¶ added in v1.0.427
func (c *Client) GetProcessInstanceStatus(ctx context.Context, id string) (*model.GetProcessInstanceStatusResult, error)
GetProcessInstanceStatus lists the current workflow states for a process instance.
func (*Client) GetServerInstanceStats ¶ added in v0.1.134
GetServerInstanceStats is an unsupported function to obtain server metrics
func (*Client) GetServerVersion ¶ added in v1.0.514
GetServerVersion returns the current server version
func (*Client) GetTaskSpecByUID ¶ added in v1.0.623
GetTaskSpecByUID gets a versioned task spec by its UID
func (*Client) GetUserTask ¶ added in v0.1.88
func (c *Client) GetUserTask(ctx context.Context, owner string, trackingID string) (*model.GetUserTaskResponse, model.Vars, error)
GetUserTask fetches details for a user task based upon an ID obtained from, ListUserTasks
func (*Client) GetWorkflow ¶ added in v1.0.366
GetWorkflow - retrieves a workflow model given its ID
func (*Client) GetWorkflowVersions ¶ added in v1.0.366
func (c *Client) GetWorkflowVersions(ctx context.Context, name string) (*model.WorkflowVersions, error)
GetWorkflowVersions - returns a list of versions for a given workflow.
func (*Client) HasWorkflowDefinitionChanged ¶ added in v1.0.366
func (c *Client) HasWorkflowDefinitionChanged(ctx context.Context, name string, b []byte) (bool, error)
HasWorkflowDefinitionChanged - given a workflow name and a BPMN xml, return true if the resulting definition is different.
func (*Client) LaunchProcess ¶ added in v1.0.645
func (c *Client) LaunchProcess(ctx context.Context, processName string, mvars model.Vars) (string, string, error)
LaunchProcess launches a new workflow instance.
func (*Client) ListExecution ¶ added in v1.0.645
func (c *Client) ListExecution(ctx context.Context, name string) ([]*model.ListExecutionResult, error)
ListExecution gets a list of running executions by workflow name.
func (*Client) ListExecutionProcesses ¶ added in v1.0.645
func (c *Client) ListExecutionProcesses(ctx context.Context, id string) (*model.ListExecutionProcessesResult, error)
ListExecutionProcesses lists the current process IDs for an Execution.
func (*Client) ListUserTaskIDs ¶ added in v0.1.86
ListUserTaskIDs returns a list of user tasks for a particular owner
func (*Client) ListWorkflows ¶
ListWorkflows gets a list of launchable workflow in SHAR.
func (*Client) LoadBPMNWorkflowFromBytes ¶
func (c *Client) LoadBPMNWorkflowFromBytes(ctx context.Context, name string, b []byte) (string, error)
LoadBPMNWorkflowFromBytes loads, parses, and stores a BPMN workflow in SHAR.
func (*Client) RegisterMessageSender ¶
func (c *Client) RegisterMessageSender(ctx context.Context, workflowName string, messageName string, sender SenderFn) error
RegisterMessageSender registers a function that requires support for sending Workflow Messages
func (*Client) RegisterProcessComplete ¶ added in v1.0.477
func (c *Client) RegisterProcessComplete(processId string, fn ProcessTerminateFn) error
RegisterProcessComplete registers a function to be executed when a shar workflow process terminates.
func (*Client) RegisterServiceTask ¶
RegisterServiceTask adds a new service task to listen for to the client. Deprecated: RegisterServiceTask exists for historical compatibility. Use RegisterTask passing in a model.TaskSpec pointer.
func (*Client) RegisterTask ¶ added in v1.0.623
RegisterTask registers a service task with a task spec.
type FixedIDOption ¶ added in v1.0.514
type FixedIDOption struct {
// contains filtered or unexported fields
}
FixedIDOption contains a fixed ID which will be used to register a task
func WithFixedID ¶ added in v1.0.514
func WithFixedID(id string) FixedIDOption
WithFixedID is a modifier which returns a FixedIDOption containing the specified ID.
type JobClient ¶ added in v1.0.271
type JobClient interface { LogClient }
JobClient represents a client that is sent to all service tasks to facilitate logging.
type LogClient ¶ added in v1.0.273
type LogClient interface { // Log logs to the underlying SHAR infrastructure. Log(ctx context.Context, severity messages.WorkflowLogLevel, code int32, message string, attrs map[string]string) error }
LogClient represents a client which is capable of logging to the SHAR infrastructure.
type MessageClient ¶ added in v1.0.271
type MessageClient interface { LogClient // SendMessage sends a Workflow Message SendMessage(ctx context.Context, name string, key any, vars model.Vars) error }
MessageClient represents a client which supports logging and sending Workflow Messages to the underlying SHAR instrastructure.
type Option ¶ added in v0.1.86
type Option interface {
// contains filtered or unexported methods
}
Option represents a configuration changer for the client.
type ProcessTerminateFn ¶ added in v1.0.477
type ProcessTerminateFn func(ctx context.Context, vars model.Vars, wfError *model.Error, endState model.CancellationState)
ProcessTerminateFn provides the signature for process terminate functions.
type RegOpt ¶ added in v1.0.514
type RegOpt interface {
// contains filtered or unexported methods
}
RegOpt represents an option that can be passed to the task register function.
type SenderFn ¶ added in v1.0.267
SenderFn provides the signature for functions that can act as Workflow Message senders.
type TaskSpecOption ¶ added in v1.0.514
type TaskSpecOption struct {
// contains filtered or unexported fields
}
TaskSpecOption contains the task specification.
func WithSpec ¶ added in v1.0.514
func WithSpec(spec *model.TaskSpec) TaskSpecOption
WithSpec allows the client to define a task specification to SHAR.