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