queue

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2021 License: BSD-3-Clause Imports: 6 Imported by: 1

README

Queue component of Enorith

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultManager = NewManager()

Functions

func WithDefaults

func WithDefaults()

Types

type Config

type Config struct {
	Listening      bool                              `yaml:"listen"`
	Connection     string                            `yaml:"connection" env:"QUEUE_CONNECTION" default:"mem"`
	RunningWorkers []string                          `yaml:"running_workers"`
	Workers        map[string]WorkerConfig           `yaml:"workers"`
	Connections    map[string]map[string]interface{} `yaml:"connections"`
}

type ConnectionRegister

type ConnectionRegister func(config map[string]interface{}) contracts.Connection

type Dispatcher

type Dispatcher struct {
	// contains filtered or unexported fields
}
var DefaultDispatcher Dispatcher

func (Dispatcher) After

func (d Dispatcher) After(delay time.Duration) *PayloadHolder

func (Dispatcher) Dispatch

func (d Dispatcher) Dispatch(payload interface{}) error

func (Dispatcher) On

func (d Dispatcher) On(on string) *PayloadHolder

type Manager

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

func NewManager

func NewManager() *Manager

func (*Manager) Close

func (m *Manager) Close(workers ...string)

func (*Manager) GetConnection

func (m *Manager) GetConnection(con string) (contracts.Connection, error)

func (*Manager) GetWorker

func (m *Manager) GetWorker(worker string) (contracts.Worker, bool)

func (*Manager) RegisterConnection

func (m *Manager) RegisterConnection(connection string, cr ConnectionRegister)

func (*Manager) RegisterWorker

func (m *Manager) RegisterWorker(name string, worker contracts.Worker)

func (*Manager) ResolveConnection

func (m *Manager) ResolveConnection(connection string, config map[string]interface{}) (contracts.Connection, error)

func (*Manager) Work

func (m *Manager) Work(done chan struct{}, workers ...string)

type PayloadHolder

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

func (*PayloadHolder) After

func (ph *PayloadHolder) After(delay time.Duration) *PayloadHolder

func (*PayloadHolder) Dispatch

func (ph *PayloadHolder) Dispatch(payload ...interface{}) error

func (*PayloadHolder) On

func (ph *PayloadHolder) On(on string) *PayloadHolder

type WorkerConfig

type WorkerConfig struct {
	Connection  string `yaml:"connection"`
	Concurrency int    `yaml:"concurrency"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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