queue

package
v0.18.2 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MigrationsFS embed.FS

Functions

func ConnectDB

func ConnectDB(config *DBConfig) (*sql.DB, error)

Types

type CreateTaskParams

type CreateTaskParams struct {
	ULID   string
	Worker string
	URL    string
	SDHash string
}

type DBConfig

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

func DefaultDBConfig

func DefaultDBConfig() *DBConfig

func (*DBConfig) ConnOpts

func (c *DBConfig) ConnOpts(connOpts string) *DBConfig

func (*DBConfig) DSN

func (c *DBConfig) DSN(dsn string) *DBConfig

func (*DBConfig) GetFullDSN

func (c *DBConfig) GetFullDSN() string

func (*DBConfig) Name

func (c *DBConfig) Name(dbName string) *DBConfig

func (*DBConfig) NoMigration

func (c *DBConfig) NoMigration() *DBConfig

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
}

type GetRunnableTaskByPayloadParams

type GetRunnableTaskByPayloadParams struct {
	URL    string
	SDHash string
}

type MarkDoneParams

type MarkDoneParams struct {
	ULID   string
	Result sql.NullString
}

type MarkFailedParams

type MarkFailedParams struct {
	ULID  string
	Error sql.NullString
}

type Migrator

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

func NewMigrator

func NewMigrator(db *sql.DB, fs embed.FS) Migrator

func (Migrator) CreateDB

func (m Migrator) CreateDB(dbName string) error

CreateDB creates the requested database.

func (Migrator) DropDB

func (m Migrator) DropDB(dbName string) error

DropDB drops the requested database.

func (Migrator) MigrateDown

func (m Migrator) MigrateDown(max int) (int, error)

MigrateDown undoes a specified number of migrations.

func (Migrator) MigrateUp

func (m Migrator) MigrateUp() (int, error)

MigrateUp executes forward migrations.

func (Migrator) Truncate

func (m Migrator) Truncate(tables []string) error

Truncate purges records from the requested tables.

type MigratorCLI

type MigratorCLI struct {
	MigrateUp struct {
	} `cmd:"" help:"Apply database migrations"`
	MigrateDown struct {
		Max int `optional:"" help:"Max number of migrations to unapply" default:"0"`
	} `cmd:"" help:"Unapply database migrations"`
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CreateTask

func (q *Queries) CreateTask(ctx context.Context, arg CreateTaskParams) (Task, error)

func (*Queries) GetActiveTasks

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

func (*Queries) GetActiveTasksForWorker

func (q *Queries) GetActiveTasksForWorker(ctx context.Context, worker string) ([]Task, error)

func (*Queries) GetAllTasks

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

func (*Queries) GetRetriableTasks

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

func (*Queries) GetRunnableTaskByPayload

func (q *Queries) GetRunnableTaskByPayload(ctx context.Context, arg GetRunnableTaskByPayloadParams) (Task, error)

func (*Queries) GetTask

func (q *Queries) GetTask(ctx context.Context, ulid string) (Task, error)

func (*Queries) GetTaskBySDHash

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

func (*Queries) MarkDone

func (q *Queries) MarkDone(ctx context.Context, arg MarkDoneParams) (Task, error)

func (*Queries) MarkFailed

func (q *Queries) MarkFailed(ctx context.Context, arg MarkFailedParams) (Task, error)

func (*Queries) MarkRetrying

func (q *Queries) MarkRetrying(ctx context.Context, ulid string) (Task, error)

func (*Queries) SetError

func (q *Queries) SetError(ctx context.Context, arg SetErrorParams) (Task, error)

func (*Queries) SetStageProgress

func (q *Queries) SetStageProgress(ctx context.Context, arg SetStageProgressParams) (Task, error)

func (*Queries) SetStatus

func (q *Queries) SetStatus(ctx context.Context, arg SetStatusParams) (Task, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type SetErrorParams

type SetErrorParams struct {
	ULID  string
	Error sql.NullString
}

type SetStageProgressParams

type SetStageProgressParams struct {
	ULID          string
	Stage         sql.NullString
	StageProgress sql.NullInt32
}

type SetStatusParams

type SetStatusParams struct {
	ULID   string
	Status Status
}

type Status

type Status string
const (
	StatusNew        Status = "new"
	StatusProcessing Status = "processing"
	StatusRetrying   Status = "retrying"
	StatusErrored    Status = "errored"
	StatusFailed     Status = "failed"
	StatusDone       Status = "done"
)

func (*Status) Scan

func (e *Status) Scan(src interface{}) error

type Task

type Task struct {
	ID            int32
	CreatedAt     time.Time
	UpdatedAt     sql.NullTime
	ULID          string
	Status        Status
	Retries       sql.NullInt32
	Stage         sql.NullString
	StageProgress sql.NullInt32
	Error         sql.NullString
	Worker        string
	URL           string
	SDHash        string
	Result        sql.NullString
}

type TestDBCleanup

type TestDBCleanup func() error

func CreateTestDB

func CreateTestDB() (*sql.DB, TestDBCleanup, error)

Jump to

Keyboard shortcuts

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