worker

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2018 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChannelQueue

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

func NewChannelQueue

func NewChannelQueue(buffer int) *ChannelQueue

func (*ChannelQueue) Channel

func (q *ChannelQueue) Channel() chan Task

func (*ChannelQueue) Close

func (q *ChannelQueue) Close() error

func (*ChannelQueue) Submit

func (q *ChannelQueue) Submit(task Task) error

type Pool

type Pool struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Pool ...

func NewPool

func NewPool(backlog, size int) *Pool

func (*Pool) Close

func (p *Pool) Close()

func (*Pool) GetWorker

func (p *Pool) GetWorker(id string) *Worker

func (*Pool) Resize

func (p *Pool) Resize(n int)

func (*Pool) Submit

func (p *Pool) Submit(task Task) (err error)

func (*Pool) Wait

func (p *Pool) Wait()

type Queue

type Queue interface {
	Submit(task Task) error
	Channel() chan Task
	Close() error
}

type Task

type Task interface {
	Enqueue() error
	Start(worker string) error
	Stop() error
	Kill(force bool) error
	Killed() bool
	Close() error
	Write(input io.Reader) (int64, error)
	Execute() error
	Error(err error) error
	Wait()
}

Task ...

type Worker

type Worker struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewWorker

func NewWorker(id string) *Worker

func (Worker) Close

func (w Worker) Close() error

func (*Worker) Id

func (w *Worker) Id() string

func (*Worker) Kill

func (w *Worker) Kill(force bool) error

func (*Worker) Run

func (w *Worker) Run(tasks chan Task, kill chan bool, wg sync.WaitGroup)

func (*Worker) Write

func (w *Worker) Write(input io.Reader) (int64, error)

Jump to

Keyboard shortcuts

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