queue

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusNew       = "new"
	StatusPending   = "pending"
	StatusStarted   = "started"
	StatusRejected  = "rejected"
	StatusReleased  = "released"
	StatusCompleted = "completed"
)

Variables

View Source
var InitialMigration = `` /* 443-byte string literal not displayed */

Functions

func SetLogger

func SetLogger(l *zap.SugaredLogger)

Types

type AddParams

type AddParams struct {
	URL    string
	SDHash string
	Type   string
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
	BeginTx(context.Context, *sql.TxOptions) (*sql.Tx, error)
}

type GetParams

type GetParams struct {
	URL    string
	SDHash string
	ID     int
}

type Poller

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

func (Poller) CompleteTask

func (p Poller) CompleteTask(t *Task)

func (Poller) IncomingTasks

func (p Poller) IncomingTasks() <-chan *Task

func (*Poller) IsShutdown

func (p *Poller) IsShutdown() bool

func (*Poller) Process

func (p *Poller) Process() error

func (Poller) ProgressTask

func (p Poller) ProgressTask(t *Task, progress float64) error

func (Poller) RejectTask

func (p Poller) RejectTask(t *Task) error

func (Poller) ReleaseTask

func (p Poller) ReleaseTask(t *Task) error

func (*Poller) Shutdown

func (p *Poller) Shutdown()

func (Poller) StartTask

func (p Poller) StartTask(t *Task) error

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) Add

func (q *Queries) Add(ctx context.Context, arg AddParams) (*Task, error)

func (*Queries) Get

func (q *Queries) Get(ctx context.Context, id uint32) (*Task, error)

func (*Queries) GetBySDHash

func (q *Queries) GetBySDHash(ctx context.Context, sdHash string) (*Task, error)

func (*Queries) List

func (q *Queries) List(ctx context.Context) ([]*Task, error)

func (*Queries) Poll

func (q *Queries) Poll(ctx context.Context) (*Task, error)

Poll pops an unprocessed task from the queue and marks it as started. It is assumed that task poller will eventually mark task as rejected, completed or failed.

func (*Queries) Release

func (q *Queries) Release(ctx context.Context, id uint32) error

type Queue

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

func NewQueue

func NewQueue(db *db.DB) *Queue

func (Queue) Add

func (q Queue) Add(url, sdHash, _type string) (*Task, error)

func (Queue) Complete

func (q Queue) Complete(id uint32) error

func (Queue) Get

func (q Queue) Get(id uint32) (*Task, error)

func (Queue) GetBySDHash

func (q Queue) GetBySDHash(sdHash string) (*Task, error)

func (Queue) List

func (q Queue) List() ([]*Task, error)

func (Queue) Poll

func (q Queue) Poll() (*Task, error)

func (Queue) Reject

func (q Queue) Reject(id uint32) error

func (Queue) Release

func (q Queue) Release(id uint32) error

func (Queue) Start

func (q Queue) Start(id uint32) error

func (*Queue) StartPoller

func (q *Queue) StartPoller(workers int) *Poller

func (Queue) UpdateProgress

func (q Queue) UpdateProgress(id uint32, progress float64) error

type Task

type Task struct {
	ID        uint32
	SDHash    string
	CreatedAt string
	URL       string
	Progress  sql.NullFloat64
	StartedAt sql.NullString
	Status    string
	Type      string
}

Jump to

Keyboard shortcuts

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