taskqueue

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2024 License: Apache-2.0 Imports: 11 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 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) Size

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

type RedisTaskQueueOptions

type RedisTaskQueueOptions struct {
	QueueName          string
	InvisibleQueueName 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)
}

Jump to

Keyboard shortcuts

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