pgqueue

package
v1.5.5 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func New

func New(ctx context.Context, conn pg.PoolConn, opt ...Opt) (*Client, error)

func (*Client) Close

func (client *Client) Close(ctx context.Context) error

func (*Client) CreateQueue

func (client *Client) CreateQueue(ctx context.Context, meta schema.Queue) (*schema.Queue, error)

CreateQueue creates a new queue, and returns it.

func (*Client) CreateTask

func (client *Client) CreateTask(ctx context.Context, queue string, meta schema.TaskMeta) (*schema.Task, error)

CreateTask creates a new task, and returns it.

func (*Client) CreateTicker

func (client *Client) CreateTicker(ctx context.Context, meta schema.TickerMeta) (*schema.Ticker, error)

CreateTicker creates a new ticker, and returns it.

func (*Client) DeleteQueue

func (client *Client) DeleteQueue(ctx context.Context, name string) (*schema.Queue, error)

DeleteQueue deletes a queue with the given name, and returns the deleted queue.

func (*Client) DeleteTicker

func (client *Client) DeleteTicker(ctx context.Context, name string) (*schema.Ticker, error)

DeleteTicker deletes an existing ticker, and returns the deleted ticker.

func (*Client) FailTask

func (client *Client) FailTask(ctx context.Context, task uint64, result any, status *string) (*schema.Task, error)

FailTask fails a task, either for retry or permanent failure, and returns the task and status.

func (*Client) GetQueue

func (client *Client) GetQueue(ctx context.Context, name string) (*schema.Queue, error)

GetQueue returns a queue with the given name.

func (*Client) GetTask

func (client *Client) GetTask(ctx context.Context, task uint64, status *string) (*schema.Task, error)

GetTask returns a task based on identifier, and optionally sets the task status.

func (*Client) GetTicker

func (client *Client) GetTicker(ctx context.Context, name string) (*schema.Ticker, error)

GetTicker returns a ticker with the given name.

func (*Client) ListQueues

func (client *Client) ListQueues(ctx context.Context, req schema.QueueListRequest) (*schema.QueueList, error)

ListQueues returns all queues as a list

func (*Client) ListTickers

func (client *Client) ListTickers(ctx context.Context, req schema.TickerListRequest) (*schema.TickerList, error)

ListTickers returns all tickers in a namespace as a list

func (*Client) NextTask

func (client *Client) NextTask(ctx context.Context) (*schema.Task, error)

NextTask retains a task, and returns it. Returns nil if there is no task to retain

func (*Client) NextTicker

func (client *Client) NextTicker(ctx context.Context) (*schema.Ticker, error)

NextTicker returns the next matured ticker, or nil

func (*Client) RegisterQueue

func (client *Client) RegisterQueue(ctx context.Context, meta schema.Queue) (*schema.Queue, error)

RegisterQueue creates a new queue, or updates an existing queue, and returns it.

func (*Client) RegisterTicker

func (client *Client) RegisterTicker(ctx context.Context, meta schema.TickerMeta) (*schema.Ticker, error)

RegisterTicker creates a new ticker, or updates an existing ticker, and returns it.

func (*Client) ReleaseTask

func (client *Client) ReleaseTask(ctx context.Context, task uint64, result any) (*schema.Task, error)

ReleaseTask releases a task from a queue, and returns it.

func (*Client) RunTaskLoop

func (client *Client) RunTaskLoop(ctx context.Context, taskch chan<- *schema.Task, errch chan<- error) error

RunTaskLoop runs a loop to process matured tasks, until the context is cancelled. It does not retain or release tasks, but simply returns them to the caller.

func (*Client) RunTickerLoop

func (client *Client) RunTickerLoop(ctx context.Context, ch chan<- *schema.Ticker) error

RunTickerLoop runs a loop to process matured tickers, until the context is cancelled.

func (*Client) UpdateQueue

func (client *Client) UpdateQueue(ctx context.Context, name string, meta schema.Queue) (*schema.Queue, error)

UpdateQueue updates an existing queue with the given name, and returns the queue.

func (*Client) UpdateTicker

func (client *Client) UpdateTicker(ctx context.Context, name string, meta schema.TickerMeta) (*schema.Ticker, error)

UpdateTicker updates a ticker with the given name.

func (*Client) Worker

func (client *Client) Worker() string

Worker returns the worker name

type Opt

type Opt func(*opt) error

Opt represents a function that modifies the options

func OptLimit

func OptLimit(limit uint64) Opt

Set limit for the queue list

func OptNamespace

func OptNamespace(v string) Opt

Set the namespace for the tickers and queues

func OptOffset

func OptOffset(offset uint64) Opt

Set offset for the queue list

func OptWorker

func OptWorker(v string) Opt

Set the worker name when a task is locked for work

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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