upool

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: May 18, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dispatcher

type Dispatcher struct {
	Debugger        bool
	DispatcherId    string        // 流水线ID
	MaxWorkers      int           // 流水线上的Worker最大数量
	Workers         []*Worker     // 流水线上所有Worker对象集合
	Closed          chan bool     // 流水线工作状态通道
	EndDispatch     chan int      // 流水线停止工作信号
	GJobQueue       chan Job      // 流水线上的所有待加工Job队列通道
	GWorkbenchQueue chan chan Job // 流水线上的所有操作台队列通道
}

Dispatcher 调度器

func NewDispatcher

func NewDispatcher(maxWorkers, maxQueue int) *Dispatcher

NewDispatcher 初始化调度者

func (*Dispatcher) Dispatch

func (d *Dispatcher) Dispatch()

Dispatch 监控

func (*Dispatcher) Run

func (d *Dispatcher) Run()

Run 开始运行

type GoWorker

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

GoWorker GoWorker

func NewGoWorker

func NewGoWorker(maxWorkers, maxQueue int) (wf *GoWorker)

NewGoWorker 初始化一个调度器, 并指定Worker和Job的最大数量

func (*GoWorker) AddJob

func (wf *GoWorker) AddJob(wJob Job)

AddJob 向流水线中放入工作job

func (*GoWorker) CloseGoWorker

func (wf *GoWorker) CloseGoWorker()

CloseGoWorker 关闭

func (*GoWorker) WaitGoWorkerClose

func (wf *GoWorker) WaitGoWorkerClose()

WaitGoWorkerClose 等待工作流结果

type Job

type Job interface {
	Play()
}

Job 负载

type SimpleJob

type SimpleJob struct {
	ID   string
	Args interface{}
	// contains filtered or unexported fields
}

SimpleJob 简单工作负载

func NewSimpleJob

func NewSimpleJob(fuc func(*SimpleJob), id string, args interface{}) *SimpleJob

NewSimpleJob 初始化一个调度器, 并指定Worker和Job的最大数量

func (*SimpleJob) AddPayload

func (job *SimpleJob) AddPayload(fuc func(*SimpleJob))

AddPayload 添加负载

func (*SimpleJob) Play

func (job *SimpleJob) Play()

Play Play

type Worker

type Worker struct {
	Debugger        bool
	WorkerId        string
	Workbench       chan Job
	GWorkbenchQueue chan chan Job
	Finished        chan bool
}

Worker 流水线

func NewWorker

func NewWorker(WorkbenchQueue chan chan Job, Id string, debugger bool) *Worker

NewWorker 新建一条流水线

func (*Worker) Start

func (w *Worker) Start()

Start 开始工作

func (*Worker) Stop

func (w *Worker) Stop()

Jump to

Keyboard shortcuts

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