squeuel

package
v0.0.0-...-72e33f6 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDuplicateTaskID = errors.New("duplicate task id")
	ErrSkipRetry       = errors.New("skip retry")
)

Functions

func Do

func Do(ctx context.Context, db sqlite.DB, queue string, fn HandleFunc) (bool, error)

func EnqueueTask

func EnqueueTask(ctx context.Context, db sqlite.DB, hub *bus.Hub, task *Task) (string, error)

func EnqueueTaskTx

func EnqueueTaskTx(ctx context.Context, tx sqlite.Tx, hub *bus.Hub, task *Task) (string, error)

Types

type HandleFunc

type HandleFunc func(ctx context.Context, task *Task) error

type Option

type Option func(c *Task)

func MaxRetry

func MaxRetry(maxRetry int) Option

func TaskID

func TaskID(taskID string) Option

type Task

type Task struct {
	ID       string
	Queue    string
	Payload  []byte
	TaskID   sql.NullString
	MaxRetry int
}

func NewTask

func NewTask(queue string, payload []byte, options ...Option) *Task

type TaskBuilder

type TaskBuilder[T any] struct {
	Queue string
	// contains filtered or unexported fields
}

func NewTaskBuilder

func NewTaskBuilder[T any](queue string) TaskBuilder[T]

func (TaskBuilder[T]) New

func (e TaskBuilder[T]) New(payload T, options ...Option) (*Task, error)

func (TaskBuilder[T]) Payload

func (e TaskBuilder[T]) Payload(task *Task) (T, error)

type Worker

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

func NewWorker

func NewWorker(db sqlite.DB, queue string, fn HandleFunc) Worker

func (Worker) Flag

func (w Worker) Flag()

func (Worker) Register

func (w Worker) Register(hub *bus.Hub) Worker

func (Worker) Serve

func (w Worker) Serve(ctx context.Context) error

func (Worker) String

func (w Worker) String() string

Jump to

Keyboard shortcuts

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