Documentation ¶
Index ¶
- func WithConcurrency(n int) concurrency
- func WithEphemeralStorage() ephemeralStorage
- type Client
- func (c *Client) CancelWorkflowInstance(ctx context.Context, instanceID string) error
- func (c *Client) CompleteUserTask(ctx context.Context, owner string, trackingID string, newVars model.Vars) error
- func (c *Client) Dial(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) 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) LaunchWorkflow(ctx context.Context, workflowName string, mvars model.Vars) (string, string, error)
- func (c *Client) ListUserTaskIDs(ctx context.Context, owner string) (*model.UserTasks, error)
- func (c *Client) ListWorkflowInstance(ctx context.Context, name string) ([]*model.ListWorkflowInstanceResult, error)
- func (c *Client) ListWorkflowInstanceProcesses(ctx context.Context, id string) (*model.ListWorkflowInstanceProcessesResult, 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) SendMessage(ctx context.Context, name string, key any, mvars model.Vars) error
- type JobClient
- type LogClient
- type MessageClient
- type Option
- type ProcessTerminateFn
- type SenderFn
- type ServiceFn
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 // 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) CancelWorkflowInstance ¶
CancelWorkflowInstance cancels a running workflow 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) 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) LaunchWorkflow ¶
func (c *Client) LaunchWorkflow(ctx context.Context, workflowName string, mvars model.Vars) (string, string, error)
LaunchWorkflow launches a new workflow instance.
func (*Client) ListUserTaskIDs ¶ added in v0.1.86
ListUserTaskIDs returns a list of user tasks for a particular owner
func (*Client) ListWorkflowInstance ¶
func (c *Client) ListWorkflowInstance(ctx context.Context, name string) ([]*model.ListWorkflowInstanceResult, error)
ListWorkflowInstance gets a list of running workflow instances by workflow name.
func (*Client) ListWorkflowInstanceProcesses ¶ added in v1.0.427
func (c *Client) ListWorkflowInstanceProcesses(ctx context.Context, id string) (*model.ListWorkflowInstanceProcessesResult, error)
ListWorkflowInstanceProcesses lists the current process IDs for a workflow instance.
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.
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.