Documentation
¶
Index ¶
- func CommandName(cmd interface{}) (string, error)
- func InitCommand(name string) (interface{}, error)
- type Activity
- type ActivityInfo
- type Cancel
- type CancelExternalWorkflow
- type CancelWorkflow
- type CompleteWorkflow
- type Context
- type ContinueAsNew
- type DestroyWorkflow
- type ExecuteActivity
- type ExecuteChildWorkflow
- type GetChildWorkflowExecution
- type GetStackTrace
- type GetVersion
- type GetWorkerInfo
- type InvokeActivity
- type InvokeQuery
- type InvokeSignal
- type Message
- type NewTimer
- type Panic
- type SideEffect
- type SignalExternalWorkflow
- type StartWorkflow
- type WorkerInfo
- type Workflow
- type WorkflowInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CommandName ¶
CommandName returns command name (only for the commands sent to the worker)
func InitCommand ¶
InitCommand reads command from binary payload
Types ¶
type ActivityInfo ¶
type ActivityInfo struct {
// Name describes public activity name.
Name string `json:"name"`
}
ActivityInfo describes single worker activity.
type Cancel ¶
type Cancel struct {
// CommandIDs to be canceled.
CommandIDs []uint64 `json:"ids"`
}
Cancel one or multiple internal promises (activities, local activities, timers, child workflows).
type CancelExternalWorkflow ¶
type CancelExternalWorkflow struct {
Namespace string `json:"namespace"`
WorkflowID string `json:"workflowID"`
RunID string `json:"runID"`
}
CancelExternalWorkflow canceller external workflow.
type CancelWorkflow ¶
type CancelWorkflow struct {
// RunID workflow run id.
RunID string `json:"runId"`
}
CancelWorkflow asks worker to gracefully stop workflow, if possible (signal).
type CompleteWorkflow ¶
type CompleteWorkflow struct{}
CompleteWorkflow sent by worker to complete workflow. Might include additional error as part of the payload.
type Context ¶
type Context struct {
// TaskQueue associates message batch with the specific task queue in underlying worker.
TaskQueue string `json:"taskQueue,omitempty"`
// TickTime associated current or historical time with message batch.
TickTime string `json:"tickTime,omitempty"`
// Replay indicates that current message batch is historical.
Replay bool `json:"replay,omitempty"`
}
Context provides worker information about currently. Context can be empty for server level commands.
type ContinueAsNew ¶
type ContinueAsNew struct {
// Result defines workflow execution result.
Name string `json:"name"`
// Options for continued as new workflow.
Options struct {
TaskQueueName string
WorkflowExecutionTimeout time.Duration
WorkflowRunTimeout time.Duration
WorkflowTaskTimeout time.Duration
} `json:"options"`
}
ContinueAsNew restarts workflow with new running instance.
type DestroyWorkflow ¶
type DestroyWorkflow struct {
// RunID workflow run id.
RunID string `json:"runId"`
}
DestroyWorkflow asks worker to offload workflow from memory.
type ExecuteActivity ¶
type ExecuteActivity struct {
// Name defines activity name.
Name string `json:"name"`
// Options to run activity.
Options bindings.ExecuteActivityOptions `json:"options,omitempty"`
}
ExecuteActivity command by workflow worker.
func (ExecuteActivity) ActivityParams ¶
func (cmd ExecuteActivity) ActivityParams(env bindings.WorkflowEnvironment, payloads *commonpb.Payloads) bindings.ExecuteActivityParams
ActivityParams maps activity command to activity params.
type ExecuteChildWorkflow ¶
type ExecuteChildWorkflow struct {
// Name defines workflow name.
Name string `json:"name"`
// Options to run activity.
Options bindings.WorkflowOptions `json:"options,omitempty"`
}
ExecuteChildWorkflow executes child workflow.
func (ExecuteChildWorkflow) WorkflowParams ¶
func (cmd ExecuteChildWorkflow) WorkflowParams(env bindings.WorkflowEnvironment, payloads *commonpb.Payloads) bindings.ExecuteWorkflowParams
WorkflowParams maps workflow command to workflow params.
type GetChildWorkflowExecution ¶
type GetChildWorkflowExecution struct {
// ID of child workflow command.
ID uint64 `json:"id"`
}
GetChildWorkflowExecution returns the WorkflowID and RunId of child workflow.
type GetStackTrace ¶
type GetStackTrace struct {
// RunID workflow run id.
RunID string `json:"runId"`
}
GetStackTrace asks worker to offload workflow from memory.
type GetVersion ¶
type GetVersion struct {
ChangeID string `json:"changeID"`
MinSupported int `json:"minSupported"`
MaxSupported int `json:"maxSupported"`
}
GetVersion requests version marker.
type GetWorkerInfo ¶
type GetWorkerInfo struct {
RRVersion string `json:"rr_version"`
}
GetWorkerInfo reads worker information.
type InvokeActivity ¶
type InvokeActivity struct {
// Name defines activity name.
Name string `json:"name"`
// Info contains execution context.
Info activity.Info `json:"info"`
// HeartbeatDetails indicates that the payload also contains last heartbeat details.
HeartbeatDetails int `json:"heartbeatDetails,omitempty"`
}
InvokeActivity invokes activity.
type InvokeQuery ¶
type InvokeQuery struct {
// RunID workflow run id.
RunID string `json:"runId"`
// Name of the query.
Name string `json:"name"`
}
InvokeQuery invokes query with a set of arguments.
type InvokeSignal ¶
type InvokeSignal struct {
// RunID workflow run id.
RunID string `json:"runId"`
// Name of the signal.
Name string `json:"name"`
}
InvokeSignal invokes signal with a set of arguments.
type Message ¶
type Message struct {
// ID contains ID of the command, response or error.
ID uint64 `json:"id"`
// Command of the message in unmarshalled form. Pointer.
Command interface{} `json:"command,omitempty"`
// Failure associated with command id.
Failure *failure.Failure `json:"failure,omitempty"`
// Payloads contains message specific payloads in binary format.
Payloads *commonpb.Payloads `json:"payloads,omitempty"`
// Header
Header *commonpb.Header `json:"header,omitempty"`
}
Message used to exchange the send commands and receive responses from underlying workers.
type NewTimer ¶
type NewTimer struct {
// Milliseconds defines timer duration.
Milliseconds int `json:"ms"`
}
NewTimer starts new timer.
func (NewTimer) ToDuration ¶
ToDuration converts timer command to time.Duration.
type Panic ¶
type Panic struct {
// Message to include into the error.
Message string `json:"message"`
}
Panic triggers panic in workflow process.
type SignalExternalWorkflow ¶
type SignalExternalWorkflow struct {
Namespace string `json:"namespace"`
WorkflowID string `json:"workflowID"`
RunID string `json:"runID"`
Signal string `json:"signal"`
ChildWorkflowOnly bool `json:"childWorkflowOnly"`
}
SignalExternalWorkflow sends signal to external workflow.
type StartWorkflow ¶
type StartWorkflow struct {
// Info to define workflow context.
Info *workflow.Info `json:"info"`
// LastCompletion contains offset of last completion results.
LastCompletion int `json:"lastCompletion,omitempty"`
}
StartWorkflow sends worker command to start workflow.
type WorkerInfo ¶
type WorkerInfo struct {
// TaskQueue assigned to the worker.
TaskQueue string `json:"taskQueue"`
// Options describe worker options.
Options worker.Options `json:"options,omitempty"`
// Workflows provided by the worker.
Workflows []WorkflowInfo
// Activities provided by the worker.
Activities []ActivityInfo
}
WorkerInfo lists available task queues, workflows and activities.
type WorkflowInfo ¶
type WorkflowInfo struct {
// Name of the workflow.
Name string `json:"name"`
// Queries pre-defined for the workflow type.
Queries []string `json:"queries"`
// Signals pre-defined for the workflow type.
Signals []string `json:"signals"`
}
WorkflowInfo describes single worker workflow.