redis

package
v0.0.0-...-59b4249 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NodeStatusUpdate

type NodeStatusUpdate struct {
	RunID     int32          `json:"runId"`
	NodeID    int32          `json:"nodeId"`
	Status    string         `json:"status"`
	Timestamp time.Time      `json:"timestamp"`
	Details   map[string]any `json:"details,omitempty"`
}

type RedisClient

type RedisClient interface {
	InitializeRunningNodeSet(ctx context.Context, runID int32, nodeIDs []int32) error
	GetRunningNodeIDs(ctx context.Context, runID int32) (map[int32]struct{}, error)
	TryAcquireWorkflowRunFinalizationLock(ctx context.Context, runID int32) (bool, error)
	MarkNodeCompleteAndCountRemaining(
		ctx context.Context,
		runID int32,
		nodeID int32,
		nodeStatus string,
	) (*int, error)
	PublishNodeStatusUpdate(
		ctx context.Context,
		runID int32,
		nodeID int32,
		status string,
		details map[string]any,
	) error
	SubscribeWorkflowProgress(ctx context.Context) (<-chan *redis.Message, *redis.PubSub, error)

	// Calendar Events
	TryEventClaim(
		ctx context.Context,
		workflowCalendarID int32,
		eventID string,
		ttl time.Duration,
	) (bool, error)

	Close() error
}

func NewRedisClient

func NewRedisClient(url string, logger logrus.FieldLogger) (RedisClient, error)

Jump to

Keyboard shortcuts

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