postgres

package
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2020 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MaintenanceTaskQueue task queue name used for all the periodic maintenance jobs.
	// These are internal queue internal tasks
	MaintenanceTaskQueue string = "queue-maintenance"

	// RetentionTask is finished task cleanup type
	RetentionTask queue.TaskType = "retention"
)
View Source
const (
	// TasksTable is the name of the Postgres table that is used for tasks
	TasksTable = "tasks"
	// SchedulesTable is the name of the Postgres table used for schedules
	SchedulesTable = "schedules"
)

Variables

This section is empty.

Functions

func AssertRetentionSchedule

func AssertRetentionSchedule(ctx context.Context, db *sql.DB, queueName string, taskType queue.TaskType, status queue.TaskStatus, age time.Duration) (err error)

AssertRetentionSchedule creates a new queue retention tasks for the supplied queue, finished tasks matching the supplied parameters will be deleted

func NewDequeuer

func NewDequeuer(db *sql.DB, dbListener *pq.Listener, cfg config.Queue) queue.Dequeuer

NewDequeuer creates a new postgres queue dequeuer

func NewDequeuerWithMetrics

func NewDequeuerWithMetrics(db *sql.DB, dbListener *pq.Listener, cfg config.Queue) queue.Dequeuer

NewDequeuerWithMetrics creates a new postgres queue dequeuer with the default metrics enabled

func NewQueuer

func NewQueuer(db *sql.DB) queue.Queuer

NewQueuer creates a new postgres queue queuer

func NewQueuerWithMetrics

func NewQueuerWithMetrics(db *sql.DB) queue.Queuer

NewQueuerWithMetrics creates a new postgres queue queuer with metrics enabled

func NewRetentionHandler

func NewRetentionHandler(db *sql.DB) queue.TaskHandler

NewRetentionHandler creates a task handler that will clean up old finished tasks

func NewScheduler

func NewScheduler(db *sql.DB) queue.Scheduler

NewScheduler creates a new postgres task scheduler

func NewSchedulerWithMetrics

func NewSchedulerWithMetrics(db *sql.DB) queue.Scheduler

NewScheduler creates a new postgres task scheduler with metrics enabled

func SetupTables

func SetupTables(ctx context.Context, db db.SQLDB, references []ForeignReference) (err error)

SetupTables sets up all the necessary tables, foreign keys and indexes.

This supports both: initial bootstrapping and changing of the reference list. However, it does not apply changes to an existing reference, this will do nothing.

Types

type ForeignReference

type ForeignReference struct {
	// ColumnName is a name of the colum in the `tasks` and `schedules` tables
	ColumnName string
	// ColumnType is a type of the colum in the `tasks` and `schedules` tables
	ColumnType string
	// ReferencedTable is a table name this column should be referencing
	ReferencedTable string
	// ReferencedColumn is a column name this column should be referencing
	ReferencedColumn string
}

ForeignReference describes a foreign key reference in the queue system

Jump to

Keyboard shortcuts

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