Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewController ¶
func NewController() *defaultController
Types ¶
type Controller ¶
type Controller interface { // 判断任务是否正在执行,是返回true,否则返回false IsRunning(taskName string) bool // 增加一个任务 // Param:delta 任务步骤数 // Return: Handler 任务handler,用于控制任务完成情况 // Return:error 成功返回true,否则返回false AddTask(taskName string) (Handle, error) // 查询任务Handle // Return: Handler 任务handler,用于控制任务完成情况 FindTask(taskName string) Handle }
type Handle ¶
type Handle interface { // 获得任务名称 Name() string // 增加任务步骤,当Done/TryDone调用次数等于所有Add delta总和时视为任务完成 Add(delta int) // 标识任务完成,当所有任务都完成则会清除Controller的任务标记 // 注意:当Done调用次数大于Add的delta总数时会触发panic Done() // 与Done作用一致 // 不同的是TryDone调用次数大于Add的delta总数时不会panic,会返回error TryDone() error // 等待任务完成 // 当所有任务步骤都完成或者到达参数中的指定超时时间会返回,否则等待 // 参数为负数为一直等待,直到任务完成 Wait(time.Duration) }
Click to show internal directories.
Click to hide internal directories.