task_control

package
v0.55.3 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2023 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 TaskControl

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

func NewTaskControl

func NewTaskControl(size int, log *logrus.Logger) (*TaskControl, error)

func (*TaskControl) Close

func (tc *TaskControl) Close()

func (*TaskControl) GetExecuteInfo

func (tc *TaskControl) GetExecuteInfo() ([]int, []int, []int)

GetExecuteInfo 获取 所有 Invoke 的执行情况,需要在 下一次 Invoke 拿走,否则会清空 成功执行的、未执行的、执行错误(超时)的

func (*TaskControl) GetResult

func (tc *TaskControl) GetResult(index int) (bool, *TaskData)

GetResult 获取 TaskData 的反馈值,需要在 下一次 Invoke 拿走,否则会清空

func (*TaskControl) Hold

func (tc *TaskControl) Hold()

Hold 自身进行阻塞,如果你是使用 Web 服务器,那么应该无需使用该方法

func (*TaskControl) Invoke

func (tc *TaskControl) Invoke(inData *TaskData) error

Invoke 向 SetCtxProcessFunc 设置的 Func 中提交数据处理

func (*TaskControl) Reboot

func (tc *TaskControl) Reboot()

func (*TaskControl) Release

func (tc *TaskControl) Release()

func (*TaskControl) SetCtxProcessFunc

func (tc *TaskControl) SetCtxProcessFunc(pollName string, pf func(ctx context.Context, inData interface{}) error, oneCtxTimeOutSecond int)

SetCtxProcessFunc 设置后续需要用到的单个任务的 Func,注意,如果之前的任务没有完成,不应该再次调用函数。建议进行 Release 后,再次调用

type TaskData

type TaskData struct {
	Index  int         // 第几个任务
	Count  int         // 总任务的数量
	Status TaskState   // 执行情况, 0 是成功,1 是未执行,2 是错误或者超时
	DataEx interface{} // 需要传递到执行函数中的数据
}

type TaskState

type TaskState int
const (
	Success TaskState = iota
	NoExecute
	Error
)

Jump to

Keyboard shortcuts

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