增加任务接口/配置/处理结果的定义
This commit is contained in:
parent
54bc83bd1f
commit
bd9dce43c1
26
abstract.go
Normal file
26
abstract.go
Normal file
@ -0,0 +1,26 @@
|
||||
// Package task ...
|
||||
//
|
||||
// Description : 定义任务接口约束
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2022-06-23 14:20
|
||||
package task
|
||||
|
||||
import "context"
|
||||
|
||||
// ITask 任务接口约束
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 14:22 2022/6/23
|
||||
type ITask interface {
|
||||
// Name 任务名称标识, 全局唯一
|
||||
Name() string
|
||||
// Description 任务描述
|
||||
Description() string
|
||||
// Callback 任务执行的回调
|
||||
Callback(result *Result) error
|
||||
// Execute 执行任务
|
||||
Execute(ctx context.Context, cfg *Config, taskParam map[string]interface{}) (map[string]interface{}, error)
|
||||
}
|
38
define.go
Normal file
38
define.go
Normal file
@ -0,0 +1,38 @@
|
||||
// Package task ...
|
||||
//
|
||||
// Description : 定义任务配置
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2022-06-23 14:26
|
||||
package task
|
||||
|
||||
// Config 任务配置
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 14:26 2022/6/23
|
||||
type Config struct {
|
||||
// GetRunID 获取任务运行的ID
|
||||
GetRunID func() string
|
||||
// Async 是否异步运行
|
||||
Async bool
|
||||
// Timeout 单位 : 秒, <= 0认为不设置超时
|
||||
Timeout int
|
||||
// ForbiddenCallback 禁用执行结果回调
|
||||
ForbiddenCallback bool
|
||||
}
|
||||
|
||||
// Result 执行结果
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 14:43 2022/6/23
|
||||
type Result struct {
|
||||
StartTime int64 // 开始时间, 纳秒
|
||||
FinishTime int64 // 结束时间, 纳秒
|
||||
Used int64 // 耗时, 纳秒
|
||||
Param map[string]interface{} // 任务参数
|
||||
Data map[string]interface{} // 任务结果数据
|
||||
Err error // 异常信息, err == nil , 代表执行成功
|
||||
}
|
Loading…
Reference in New Issue
Block a user