client

package
v0.4.4 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2022 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Overview

Package client contains the base job-manager http client.

Index

Constants

This section is empty.

Variables

View Source
var ConfigDefaults = Config{
	Host: ":1874",
}

Functions

func IsNotFound

func IsNotFound(err error) bool

func SetMockTime

func SetMockTime(ctx context.Context, t time.Time) context.Context

Types

type APIError

type APIError struct {
	*apiv1.GenericError
}

func (*APIError) Error

func (e *APIError) Error() string

func (*APIError) Is

func (e *APIError) Is(other error) bool

type AckJobOpts

type AckJobOpts struct {
	Data interface{}
}

type Client

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

func New

func New(addr string, providers ...Provider) *Client

func (*Client) AckJob

func (c *Client) AckJob(ctx context.Context, id string, status resource.Status) error

func (*Client) AckJobOpts

func (c *Client) AckJobOpts(ctx context.Context, id string, status resource.Status, opts AckJobOpts) error

func (*Client) BlockQueue added in v0.4.0

func (c *Client) BlockQueue(ctx context.Context, queue string) error

func (*Client) DeleteQueue added in v0.4.0

func (c *Client) DeleteQueue(ctx context.Context, queue string) error

func (*Client) DequeueJobs

func (c *Client) DequeueJobs(ctx context.Context, num int, queueID string) (*resource.Jobs, error)

func (*Client) DequeueJobsOpts

func (c *Client) DequeueJobsOpts(ctx context.Context, num int, opts DequeueOpts) (*resource.Jobs, error)

func (*Client) EnqueueJob

func (c *Client) EnqueueJob(ctx context.Context, name string, args ...interface{}) (string, error)

func (*Client) EnqueueJobOpts

func (c *Client) EnqueueJobOpts(ctx context.Context, name string, opts EnqueueOpts, args ...interface{}) (string, error)

func (*Client) GetJob

func (c *Client) GetJob(ctx context.Context, id string, opts *GetJobOpts) (*resource.Job, error)

func (*Client) GetQueue

func (c *Client) GetQueue(ctx context.Context, id string) (*resource.Queue, error)

func (*Client) ListJobs

func (c *Client) ListJobs(ctx context.Context, opts ListJobsOpts) (*resource.Jobs, error)

func (*Client) ListQueues

func (c *Client) ListQueues(ctx context.Context, opts ListQueuesOpts) (*resource.Queues, error)

func (*Client) PauseQueue added in v0.4.0

func (c *Client) PauseQueue(ctx context.Context, queue string) error

func (*Client) Ping

func (c *Client) Ping(ctx context.Context) error

func (*Client) SaveQueue

func (c *Client) SaveQueue(ctx context.Context, name string, opts SaveQueueOpts) (*resource.Queue, error)

func (*Client) Stats

func (c *Client) Stats(ctx context.Context, queue string) (*resource.Stats, error)

func (*Client) UnblockQueue added in v0.4.0

func (c *Client) UnblockQueue(ctx context.Context, queue string) error

func (*Client) UnpauseQueue added in v0.4.0

func (c *Client) UnpauseQueue(ctx context.Context, queue string) error

type Config

type Config struct {
	Host string `envconfig:"host" json:"host"`
}

Config holds configuration data for the job client.

type DequeueOpts

type DequeueOpts struct {
	Queues    []string
	Selectors []string
	Claims    label.Claims
	// Args provides an array of types to convert job arguments into when
	// deserializing.
	Args []interface{}
}

type EnqueueOpts

type EnqueueOpts struct {
	Data   interface{}
	Claims label.Claims
}

type GetJobOpts

type GetJobOpts struct {
	Includes []string
}

type Interface

type Interface interface {
	// Resource(name string) resource.Interface
	Ping(ctx context.Context) error

	// consumer rpcs
	// EnqueueJobs(ctx context.Context, jobs *resource.Jobs) ([]string, error)
	// EnqueueJobsOpts(ctx context.Context, jobs *resource.Jobs, opts EnqueueOpts) ([]string, error)
	EnqueueJob(ctx context.Context, job string, args ...interface{}) (string, error)
	EnqueueJobOpts(ctx context.Context, job string, opts EnqueueOpts, args ...interface{}) (string, error)
	DequeueJobs(ctx context.Context, num int, id string) (*resource.Jobs, error)
	DequeueJobsOpts(ctx context.Context, num int, opts DequeueOpts) (*resource.Jobs, error)
	AckJob(ctx context.Context, id string, status resource.Status) error
	AckJobOpts(ctx context.Context, id string, status resource.Status, opts AckJobOpts) error

	ListJobs(ctx context.Context, opts ListJobsOpts) (*resource.Jobs, error)
	GetJob(ctx context.Context, id string, opts *GetJobOpts) (*resource.Job, error)

	SaveQueue(ctx context.Context, name string, opts SaveQueueOpts) (*resource.Queue, error)
	// SaveQueues(ctx context.Context, queue *resource.Queues) error
	ListQueues(ctx context.Context, opts ListQueuesOpts) (*resource.Queues, error)
	GetQueue(ctx context.Context, id string) (*resource.Queue, error)
	DeleteQueue(ctx context.Context, queue string) error
	PauseQueue(ctx context.Context, queue string) error
	UnpauseQueue(ctx context.Context, queue string) error
	BlockQueue(ctx context.Context, queue string) error
	UnblockQueue(ctx context.Context, queue string) error
}

type ListJobsOpts

type ListJobsOpts struct {
	Queues    []string
	Selectors []string
	Statuses  []resource.Status
	Page      *resource.Pagination
	Includes  []string
}

type ListQueuesOpts

type ListQueuesOpts struct {
	Names     []string
	Selectors []string
	Page      *resource.Pagination
	Includes  []string
}

type Provider added in v0.4.0

type Provider func(c *Client) *Client

func WithConfig

func WithConfig(cfg *Config) Provider

func WithHTTPClient

func WithHTTPClient(client *http.Client) Provider

type Queue

type Queue struct {
	*jobv1.Queue
}

type SaveQueueOpts

type SaveQueueOpts struct {
	MaxRetries      int
	JobDuration     time.Duration
	CheckinDuration time.Duration
	ClaimDuration   time.Duration
	Labels          map[string]string
	Schema          []byte
	Unique          bool
	Version         string
	BackoffInitial  time.Duration
	BackoffMax      time.Duration
	BackoffFactor   float32
}

Jump to

Keyboard shortcuts

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