qui

package module
v0.0.0-...-2775e84 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2023 License: MIT Imports: 3 Imported by: 0

README

qui

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateTaskParams

type CreateTaskParams[T any] struct {
	Payload  T
	Priority int
}

type GenericQueue

type GenericQueue[T any] struct {
	// contains filtered or unexported fields
}

func NewGenericQueue

func NewGenericQueue[T any](params NewGenericQueueParams) *GenericQueue[T]

func (*GenericQueue[T]) CreateTask

func (queue *GenericQueue[T]) CreateTask(ctx context.Context, payload T, priority int) (GenericTask[T], error)

func (*GenericQueue[T]) GetTask

func (queue *GenericQueue[T]) GetTask(ctx context.Context) (GenericTask[T], error)

type GenericTask

type GenericTask[T any] struct {
	ID      string
	Status  TaskStatus
	Payload T
}

type NewGenericQueueParams

type NewGenericQueueParams struct {
	Name   string
	Broker TaskBroker
}

type Task

type Task struct {
	ID      string
	Status  TaskStatus
	Payload []byte
}

type TaskBroker

type TaskBroker interface {
	GetTask(ctx context.Context, queueName string) (Task, error)
	CreateTask(ctx context.Context, queueName string, task Task) (Task, error)
	CompleteTask(ctx context.Context, queueName string, id string) error
	FailTask(ctx context.Context, queueName string, id string) error
}

type TaskStatus

type TaskStatus string
const (
	TaskStatusPending  TaskStatus = "pending"
	TaskStatusComplete TaskStatus = "complete"
	TaskStatusFailed   TaskStatus = "failed"
)

Jump to

Keyboard shortcuts

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