client

package
v0.19.978 Latest Latest
Warning

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

Go to latest
Published: May 29, 2026 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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, signalType signal.SignalType) error

EnsureQueueSignal is a workflow-level helper that checks whether the latest signal of a given type 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 to finish.

Types

type Client

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

func New

func New(params Params) *Client

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

func (c *Client) CheckCAN(ctx context.Context, queueID string) (*queue.CheckCANResponse, error)

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

func (c *Client) ClearQueue(ctx context.Context, queueID string) (int, error)

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

func (c *Client) CompleteSignal(ctx context.Context, signalID, updateName string) error

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) Create

func (c *Client) Create(ctx context.Context, req *CreateQueueRequest) (*app.Queue, error)

@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

func (c *Client) ForceRestart(ctx context.Context, queueID string) error

ForceRestart terminates the running queue workflow and starts a fresh one. @temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) GetQueue

func (c *Client) GetQueue(ctx context.Context, id string) (*app.Queue, error)

@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

func (c *Client) GetQueueSignal(ctx context.Context, id string) (*app.QueueSignal, error)

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) GetQueueStatus added in v0.19.850

func (c *Client) GetQueueStatus(ctx context.Context, queueID string) (*queue.StatusResponse, error)

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) HintRestart added in v0.19.903

func (c *Client) HintRestart(ctx context.Context, queueIDs []string) error

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) HintRestartByOrg added in v0.19.903

func (c *Client) HintRestartByOrg(ctx context.Context, orgID string) error

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) HintRestartSingle added in v0.19.934

func (c *Client) HintRestartSingle(ctx context.Context, queueID string) error

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

func (c *Client) ListQueuesByOrgID(ctx context.Context, orgID string) ([]app.Queue, error)

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) Pause added in v0.19.850

func (c *Client) Pause(ctx context.Context, queueID string) error

@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

func (c *Client) QueueReady(ctx context.Context, queueID string) error

@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

func (*Client) Resume added in v0.19.850

func (c *Client) Resume(ctx context.Context, queueID string) error

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) Stop added in v0.19.850

func (c *Client) Stop(ctx context.Context, queueID string) error

@temporal-gen-v2 activity @start-to-close-timeout 1m

func (*Client) Terminate added in v0.19.894

func (c *Client) Terminate(ctx context.Context, queueID string) error

Terminate stops all emitters (cancelling their Temporal workflows), deletes the emitter records, stops the queue workflow, and soft-deletes the queue record.

func (*Client) TerminateStrict added in v0.19.949

func (c *Client) TerminateStrict(ctx context.Context, queueID string) error

type CreateQueueRequest

type CreateQueueRequest struct {
	OrgID *string

	OwnerID   string `validate:"required"`
	OwnerType string `validate:"required"`
	Namespace string `validate:"required"`

	Name     string
	Metadata pgtype.Hstore

	MaxInFlight int
	MaxDepth    int
}

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

	// 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"`
	SignalType signal.SignalType `json:"signal_type" validate:"required"`

	// 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 EnsureSignalResponse struct {
	// AlreadyComplete is true if the signal has already finished successfully.
	AlreadyComplete bool   `json:"already_complete"`
	QueueSignalID   string `json:"queue_signal_id"`
}

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 Params

type Params struct {
	fx.In

	DB       *gorm.DB `name:"psql"`
	Cfg      *internal.Config
	TClient  temporalclient.Client
	L        *zap.Logger
	MW       metrics.Writer
	Enqueuer *enqueuer.Enqueuer
}

type PollSignalOptions added in v0.19.850

type PollSignalOptions struct {
	Timeout      *time.Duration
	PollInterval time.Duration
}

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"`
}

Jump to

Keyboard shortcuts

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