Documentation
¶
Index ¶
- Variables
- func EnsureQueueSignal(ctx workflow.Context, ownerID, ownerType string, ...) error
- type Client
- func (c *Client) AwaitSignal(ctx context.Context, queueSignalID string) (*handler.FinishedResponse, error)
- func (c *Client) CancelSignal(ctx context.Context, queueSignalID string) (*handler.CancelResponse, error)
- func (c *Client) CheckCAN(ctx context.Context, queueID string) (*queue.CheckCANResponse, error)
- func (c *Client) ClearQueue(ctx context.Context, queueID string) (int, error)
- func (c *Client) CompleteSignal(ctx context.Context, signalID, updateName string) error
- func (c *Client) Create(ctx context.Context, req *CreateQueueRequest) (*app.Queue, error)
- func (c *Client) DirectExecuteSignal(ctx context.Context, queueSignalID string) (*queue.DirectExecuteResponse, error)
- func (c *Client) EnqueueSignal(ctx context.Context, req *EnqueueSignalRequest) (*queue.EnqueueResponse, error)
- func (c *Client) EnsureSignal(ctx context.Context, req *EnsureSignalRequest) (*EnsureSignalResponse, error)
- func (c *Client) FetchEagerStepGroups(ctx context.Context, req FetchEagerStepGroupsRequest) (*app.GenerateStepsResult, error)
- func (c *Client) FetchSteps(ctx context.Context, req FetchStepsRequest) (*app.GenerateStepsResult, error)
- func (c *Client) ForceRestart(ctx context.Context, queueID string) error
- func (c *Client) GetQueue(ctx context.Context, id string) (*app.Queue, error)
- func (c *Client) GetQueueByOwner(ctx context.Context, ownerID, ownerType string) (*app.Queue, error)
- func (c *Client) GetQueueByOwnerAndName(ctx context.Context, ownerID, ownerType, name string) (*app.Queue, error)
- func (c *Client) GetQueueSignal(ctx context.Context, id string) (*app.QueueSignal, error)
- func (c *Client) GetQueueStatus(ctx context.Context, queueID string) (*queue.StatusResponse, error)
- func (c *Client) HintRestart(ctx context.Context, queueIDs []string) error
- func (c *Client) HintRestartByOrg(ctx context.Context, orgID string) error
- func (c *Client) HintRestartSingle(ctx context.Context, queueID string) error
- func (c *Client) ListQueues(ctx context.Context, orgID, ownerID, ownerType string, limit, offset int) ([]app.Queue, error)
- func (c *Client) ListQueuesByOrgID(ctx context.Context, orgID string) ([]app.Queue, error)
- func (c *Client) Pause(ctx context.Context, queueID string) error
- func (c *Client) PollSignal(ctx context.Context, queueSignalID string, opts *PollSignalOptions) (*handler.StatusResponse, error)
- func (c *Client) QuerySignalStatus(ctx context.Context, queueSignalID string) (*handler.StatusResponse, error)
- func (c *Client) QueueReady(ctx context.Context, queueID string) error
- func (c *Client) RequestCANAll(ctx context.Context, _ *RequestCANAllRequest) (*RequestCANAllResponse, error)
- func (c *Client) Resume(ctx context.Context, queueID string) error
- func (c *Client) Stop(ctx context.Context, queueID string) error
- func (c *Client) Terminate(ctx context.Context, queueID string) error
- func (c *Client) TerminateStrict(ctx context.Context, queueID string) error
- type CreateQueueRequest
- type EnqueueSignalRequest
- type EnsureSignalRequest
- type EnsureSignalResponse
- type FetchEagerStepGroupsRequest
- type FetchStepsRequest
- type Params
- type PollSignalOptions
- type RequestCANAllRequest
- type RequestCANAllResponse
Constants ¶
This section is empty.
Variables ¶
var ErrSignalTimeout = errors.New("timeout waiting for signal completion")
Functions ¶
func EnsureQueueSignal ¶ added in v0.19.978
func EnsureQueueSignal(ctx workflow.Context, ownerID, ownerType string, signalTypes ...signal.SignalType) error
EnsureQueueSignal is a workflow-level helper that checks whether the latest signal of any of the given types for an owner has completed. If it has, it returns immediately. If it is still in flight, it registers a callback and blocks until the signal completes (or times out).
This enables dependent signals to wait for prerequisites without polling, e.g. a component-build signal waiting for org-provision or org-reprovision (whichever is most recent) to finish.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AwaitSignal ¶
func (c *Client) AwaitSignal(ctx context.Context, queueSignalID string) (*handler.FinishedResponse, error)
AwaitSignal is deprecated — callers should use the callback-based await pattern instead. This method logs an error with the caller's queue signal ID and returns a non-retryable error so the offending call site is surfaced immediately.
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) CancelSignal ¶ added in v0.19.850
func (c *Client) CancelSignal(ctx context.Context, queueSignalID string) (*handler.CancelResponse, error)
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) CheckCAN ¶ added in v0.19.934
CheckCAN triggers an on-demand CAN check on a queue workflow. @temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) ClearQueue ¶ added in v0.19.894
ClearQueue cancels all in-flight (non-terminal) signals in the given queue. Every affected signal is set to StatusCancelled with a "cancelled by clear-queue" description.
func (*Client) CompleteSignal ¶ added in v0.19.850
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) DirectExecuteSignal ¶ added in v0.19.901
func (c *Client) DirectExecuteSignal(ctx context.Context, queueSignalID string) (*queue.DirectExecuteResponse, error)
@temporal-gen-v2 activity @start-to-close-timeout 5m
func (*Client) EnqueueSignal ¶
func (c *Client) EnqueueSignal(ctx context.Context, req *EnqueueSignalRequest) (*queue.EnqueueResponse, error)
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) EnsureSignal ¶ added in v0.19.978
func (c *Client) EnsureSignal(ctx context.Context, req *EnsureSignalRequest) (*EnsureSignalResponse, error)
EnsureSignal checks the latest signal of the given type for the owner. If the signal is already complete (success), it returns immediately. If the signal is in flight (queued/in_progress), it atomically appends the callback and returns AlreadyComplete=false so the caller can Await.
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) FetchEagerStepGroups ¶ added in v0.19.903
func (c *Client) FetchEagerStepGroups(ctx context.Context, req FetchEagerStepGroupsRequest) (*app.GenerateStepsResult, error)
@temporal-gen-v2 activity @start-to-close-timeout 2m @heartbeat-timeout 60s
func (*Client) FetchSteps ¶ added in v0.19.894
func (c *Client) FetchSteps(ctx context.Context, req FetchStepsRequest) (*app.GenerateStepsResult, error)
@temporal-gen-v2 activity @start-to-close-timeout 2m @heartbeat-timeout 60s
func (*Client) ForceRestart ¶ added in v0.19.901
ForceRestart terminates the running queue workflow and starts a fresh one. @temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) GetQueueByOwner ¶ added in v0.19.850
func (c *Client) GetQueueByOwner(ctx context.Context, ownerID, ownerType string) (*app.Queue, error)
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) GetQueueByOwnerAndName ¶ added in v0.19.872
func (c *Client) GetQueueByOwnerAndName(ctx context.Context, ownerID, ownerType, name string) (*app.Queue, error)
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) GetQueueSignal ¶ added in v0.19.927
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) GetQueueStatus ¶ added in v0.19.850
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) HintRestart ¶ added in v0.19.903
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) HintRestartByOrg ¶ added in v0.19.903
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) HintRestartSingle ¶ added in v0.19.934
HintRestartSingle sets restart_hint on a single queue via status_v2 metadata. The queue's CAN listener will pick this up on its next poll cycle and trigger a graceful continue-as-new. @temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) ListQueues ¶ added in v0.19.850
func (c *Client) ListQueues(ctx context.Context, orgID, ownerID, ownerType string, limit, offset int) ([]app.Queue, error)
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) ListQueuesByOrgID ¶ added in v0.19.895
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) PollSignal ¶ added in v0.19.850
func (c *Client) PollSignal(ctx context.Context, queueSignalID string, opts *PollSignalOptions) (*handler.StatusResponse, error)
func (*Client) QuerySignalStatus ¶ added in v0.19.872
func (c *Client) QuerySignalStatus(ctx context.Context, queueSignalID string) (*handler.StatusResponse, error)
QuerySignalStatus queries the status of a signal handler. If the handler workflow is sleeping or completed, it falls back to the database status.
func (*Client) QueueReady ¶
@temporal-gen-v2 activity @start-to-close-timeout 1m
func (*Client) RequestCANAll ¶ added in v0.19.903
func (c *Client) RequestCANAll(ctx context.Context, _ *RequestCANAllRequest) (*RequestCANAllResponse, error)
RequestCANAll sets restart_hint on all queues via status_v2 metadata. @temporal-gen-v2 activity @start-to-close-timeout 1m
type CreateQueueRequest ¶
type EnqueueSignalRequest ¶ added in v0.19.850
type EnqueueSignalRequest struct {
QueueID string `validate:"required"`
Signal signal.Signal `validate:"required"`
OwnerID string
OwnerType string
ExpiresAt *time.Time
EmitterID *string
// Callback describes where the handler should send a Temporal signal on completion.
// Deprecated: use Callbacks for new code.
Callback callback.Ref
// Callbacks supports multiple completion targets.
Callbacks callback.Refs
}
type EnsureSignalRequest ¶ added in v0.19.978
type EnsureSignalRequest struct {
OwnerID string `json:"owner_id" validate:"required"`
OwnerType string `json:"owner_type" validate:"required"`
SignalTypes []signal.SignalType `json:"signal_types" validate:"required,min=1"`
// Callback to register on the signal if it is still in flight.
Callback callback.Ref `json:"callback"`
}
type EnsureSignalResponse ¶ added in v0.19.978
type FetchEagerStepGroupsRequest ¶ added in v0.19.903
type FetchEagerStepGroupsRequest struct {
QueueSignalID string `json:"queue_signal_id" validate:"required"`
}
type FetchStepsRequest ¶ added in v0.19.894
type FetchStepsRequest struct {
QueueSignalID string `json:"queue_signal_id" validate:"required"`
}
type PollSignalOptions ¶ added in v0.19.850
type RequestCANAllRequest ¶ added in v0.19.903
type RequestCANAllRequest struct{}
type RequestCANAllResponse ¶ added in v0.19.903
type RequestCANAllResponse struct {
RowsAffected int64 `json:"rows_affected"`
}
Source Files
¶
- await_queue_signal.go
- await_signal.go
- cancel_signal.go
- check_can.go
- clear_queue.go
- client.go
- complete_signal.go
- control.go
- create.go
- direct_execute_signal.go
- enqueue_signal.go
- ensure_queue_signal.go
- ensure_signal.go
- fetch_eager_step_groups.go
- fetch_steps.go
- force_restart.go
- get.go
- hint_restart.go
- list_queues_by_org.go
- poll_signal.go
- query_signal.go
- ready.go
- stop.go
- terminate.go