增加任务接口/配置/处理结果的定义
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