comag

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const ContextRunId = "__ID__"
View Source
const ContextRunName = "__NAME__"

Variables

This section is empty.

Functions

func DemoCoA

func DemoCoA(ctx context.Context)

func DemoCoB

func DemoCoB(ctx context.Context)

Types

type CoFunc

type CoFunc func(context.Context)

type ConProcessModelActuator added in v1.0.2

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

ConProcessModelActuator 并发处理模型 提供 Add 方法添加需要运行的函数,函数提供 context 变量,监听context的 Done() 确定是否结束处理 Start 启动方法执行,Stop停止方法执行 Wait 等到各个方法最终执行结束

func NewConProcessModelActuator added in v1.0.2

func NewConProcessModelActuator() *ConProcessModelActuator

func (*ConProcessModelActuator) Add added in v1.0.2

func (c *ConProcessModelActuator) Add(f CoFunc)

func (*ConProcessModelActuator) AddRepeat added in v1.0.2

func (c *ConProcessModelActuator) AddRepeat(f CoFunc, num int)

func (*ConProcessModelActuator) Start added in v1.0.2

func (c *ConProcessModelActuator) Start() error

func (*ConProcessModelActuator) Stop added in v1.0.2

func (c *ConProcessModelActuator) Stop() error

Stop Start运行后多次stop都可

func (*ConProcessModelActuator) Wait added in v1.0.2

func (c *ConProcessModelActuator) Wait() error

Wait 等待执行完成

type CtlRater

type CtlRater struct {
	StopNotifyWorker

	Do   func()
	Rate int64

	v1log.InvokeLog
	// contains filtered or unexported fields
}

func (*CtlRater) Start

func (ctl *CtlRater) Start()

type FailAllFailCoMag

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

FailAllFailCoMag 一次失败全部失败的CoMag 已废弃,请使用 ConProcessModelActuator 进行处理

func NewFailAllFailCoMag

func NewFailAllFailCoMag() *FailAllFailCoMag

func (*FailAllFailCoMag) Add

func (mg *FailAllFailCoMag) Add(f CoFunc)

func (*FailAllFailCoMag) Run

func (mg *FailAllFailCoMag) Run()

type ProcessMultiSender added in v1.0.2

type ProcessMultiSender[T interface{}] struct {
	// contains filtered or unexported fields
}

ProcessMultiSender 处理发送器(提供多个发送) 提供 Send 发送数据方法(与 ProcessSender 一致) 提供 Ch 获取收取数据的channel变量 与上面的 ProcessSender 的区别在于接收端可支持多个channel,可根据自身需要设置策略来动态分配对应的channel

func NewProcessMultiSender added in v1.0.2

func NewProcessMultiSender[T interface{}](num int) *ProcessMultiSender[T]

func (*ProcessMultiSender[T]) Ch added in v1.0.2

func (a *ProcessMultiSender[T]) Ch(index int) chan T

func (*ProcessMultiSender[T]) ChByData added in v1.0.2

func (a *ProcessMultiSender[T]) ChByData(d T) chan T

func (*ProcessMultiSender[T]) ChIndex added in v1.0.2

func (a *ProcessMultiSender[T]) ChIndex(d T) int

ChIndex 设置分发策略

func (*ProcessMultiSender[T]) Send added in v1.0.2

func (a *ProcessMultiSender[T]) Send(items ...T)

func (*ProcessMultiSender[T]) SetStrategy added in v1.0.2

func (a *ProcessMultiSender[T]) SetStrategy(f func(T) int)

SetStrategy 设置分发策略

type ProcessSender added in v1.0.2

type ProcessSender[T interface{}] struct {
	// contains filtered or unexported fields
}

ProcessSender 处理发送器 提供 Send 发送数据方法 提供 Ch 获取收取数据的channel变量

func NewProcessSender added in v1.0.2

func NewProcessSender[T interface{}](l ...int) *ProcessSender[T]

func (*ProcessSender[T]) Ch added in v1.0.2

func (a *ProcessSender[T]) Ch() chan T

func (*ProcessSender[T]) Send added in v1.0.2

func (a *ProcessSender[T]) Send(items ...T)

type StopNotifyWorker

type StopNotifyWorker struct {
	StopWorker
	// contains filtered or unexported fields
}

func (*StopNotifyWorker) Stop

func (w *StopNotifyWorker) Stop()

func (*StopNotifyWorker) StopNotify

func (w *StopNotifyWorker) StopNotify() chan bool

type StopWorker

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

func (*StopWorker) Start

func (w *StopWorker) Start()

func (*StopWorker) Stop

func (w *StopWorker) Stop()

func (*StopWorker) Stopped

func (w *StopWorker) Stopped() bool

Jump to

Keyboard shortcuts

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