task

package
v0.2.15 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager interface {
	common.Service
	common.Daemon
	Add(tasks ...*Task) error
	Remove(tasks ...*Task)
	Stats(id string) *executor.Stats
}

func New

func New(opts ...Option) Manager

type Option

type Option func(*manager)

func MaxConcurrency

func MaxConcurrency(size int) Option

func WithLogger

func WithLogger(logger log.Logger) Option

type Task

type Task struct {
	Job           job.Job         `json:"-"`
	Ctx           context.Context `json:"-"`
	Params        any             `json:"params"`
	Schedule      string          `json:"schedule"`
	Priority      int             `json:"priority"`
	Exclusive     bool            `json:"exclusive"`
	Timeout       time.Duration   `json:"timeout,omitempty"`
	Cooldown      time.Duration   `json:"cooldown,omitempty"`
	Once          bool            `json:"once"`
	RetryAttempts int             `json:"retry_attempts,omitempty"`
	RetryDelay    time.Duration   `json:"retry_delay,omitempty"`
}

func (*Task) GetPriority

func (t *Task) GetPriority() int

func (*Task) IsValid

func (t *Task) IsValid() bool

func (*Task) Key

func (t *Task) Key() string

func (*Task) SetPriority

func (t *Task) SetPriority(priority int)

func (*Task) String

func (t *Task) String() string

Jump to

Keyboard shortcuts

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