Help us shape the future of Go! Take the 2026 Go Developer Survey

taskqueue

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetOptions

type GetOptions struct {
	Count int64
}

type MessageData added in v0.8.0

type MessageData struct {
	EventID    string `json:"event_id"`
	EndpointId string `json:"endpoint_id"`
	Attempt    int    `json:"attempt"`
	Event      string `json:"event"`
}

type RedisTaskQueue

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

RedisTaskQueue use redis as queue implementation

func NewRedisQueue

func NewRedisQueue(opts RedisTaskQueueOptions, logger *zap.SugaredLogger, metrics *metrics.Metrics) *RedisTaskQueue

func (*RedisTaskQueue) Add

func (q *RedisTaskQueue) Add(ctx context.Context, tasks []*TaskMessage) error

func (*RedisTaskQueue) Delete

func (q *RedisTaskQueue) Delete(ctx context.Context, task *TaskMessage) error

func (*RedisTaskQueue) Get

func (q *RedisTaskQueue) Get(ctx context.Context, opts *GetOptions) ([]*TaskMessage, error)

func (*RedisTaskQueue) Schedule added in v0.9.0

func (q *RedisTaskQueue) Schedule(ctx context.Context, task *TaskMessage) error

func (*RedisTaskQueue) Size

func (q *RedisTaskQueue) Size(ctx context.Context) (int64, error)

func (*RedisTaskQueue) Stats added in v0.8.0

func (q *RedisTaskQueue) Stats() map[string]interface{}

type RedisTaskQueueOptions

type RedisTaskQueueOptions struct {
	QueueName         string
	QueueDataName     string
	VisibilityTimeout time.Duration
	Client            *redis.Client
}

type TaskMessage

type TaskMessage struct {
	ID          string
	ScheduledAt time.Time
	Data        interface{}
	// contains filtered or unexported fields
}

func (*TaskMessage) MarshalData

func (t *TaskMessage) MarshalData() ([]byte, error)

func (*TaskMessage) String

func (t *TaskMessage) String() string

func (*TaskMessage) UnmarshalData

func (t *TaskMessage) UnmarshalData(v interface{}) error

type TaskQueue

type TaskQueue interface {
	Add(ctx context.Context, tasks []*TaskMessage) error
	Get(ctx context.Context, opts *GetOptions) (tasks []*TaskMessage, err error)
	Delete(ctx context.Context, task *TaskMessage) error
	Size(ctx context.Context) (int64, error)
	Schedule(ctx context.Context, task *TaskMessage) error
	Stats() map[string]interface{}
}

Jump to

Keyboard shortcuts

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