Documentation
¶
Index ¶
- Constants
- Variables
- func NewErrorEvent(msg string, taskId string) *event.EventSpec
- func NewInfoEvent(msg string, taskId string) *event.EventSpec
- func StatusCompleteString() []string
- type CONTEXT_TASK_KEY
- type DescribeTaskRequest
- type QueryTaskRequest
- type STATUS
- type Service
- type TYPE
- type Task
- type TaskFunc
- type TaskSpec
- func (t *TaskSpec) AddWebHook(hs ...*webhook.WebHook) *TaskSpec
- func (t *TaskSpec) GetFn() TaskFunc
- func (t *TaskSpec) SetAsync(v bool) *TaskSpec
- func (t *TaskSpec) SetDescription(desc string) *TaskSpec
- func (t *TaskSpec) SetLabel(key, value string) *TaskSpec
- func (t *TaskSpec) SetName(name string) *TaskSpec
- type TaskStatus
Constants ¶
View Source
const (
APP_NAME = "tasks"
)
View Source
const (
EVENT_LABLE_TASK_ID = "task_id"
)
Variables ¶
View Source
var ( STATUS_MAP = map[STATUS]string{ STATUS_PENDING: "PENDDING", STATUS_RUNNING: "RUNNING", STATUS_SUCCESS: "SUCCESS", STATUS_FAILED: "FAILED", STATUS_CANCELED: "CANCELED", } STATUS_COMPLETE = []STATUS{ STATUS_SUCCESS, STATUS_FAILED, STATUS_CANCELED, } )
View Source
var (
DEFAULT_TIMEOUT = time.Second * 30
)
Functions ¶
func StatusCompleteString ¶
func StatusCompleteString() []string
Types ¶
type CONTEXT_TASK_KEY ¶
type CONTEXT_TASK_KEY struct{}
type DescribeTaskRequest ¶
type DescribeTaskRequest struct {
TaskId string `json:"task_id"`
}
func NewDescribeTaskRequest ¶
func NewDescribeTaskRequest(taskId string) *DescribeTaskRequest
type QueryTaskRequest ¶
type QueryTaskRequest struct {
request.PageRequest
}
func NewQueryTaskRequest ¶ added in v0.0.14
func NewQueryTaskRequest() *QueryTaskRequest
type Service ¶
type Service interface { // 任务执行 Run(context.Context, *TaskSpec) *Task // 查询任务列表 QueryTask(context.Context, *QueryTaskRequest) (*types.Set[*Task], error) // 查询任务详情 DescribeTask(context.Context, *DescribeTaskRequest) (*Task, error) }
func GetService ¶
func GetService() Service
type Task ¶
type Task struct { // 任务Id Id string `json:"id" gorm:"column:id;type:string;primary_key;" unique:"true" description:"Id"` // 创建时间 CreatedAt time.Time `` /* 126-byte string literal not displayed */ // 任务定义 TaskSpec // 任务状态 TaskStatus }
func GetTaskFromCtx ¶
type TaskSpec ¶
type TaskSpec struct { // 是否异步执行 Async bool `json:"async" gorm:"column:async;" description:"是否异步执行"` // 异步执行时的超时时间 Timeout string `json:"timeout" gorm:"column:timeout;" description:"异步执行时的超时时间"` // 任务类型 Type TYPE `json:"type" gorm:"column:id;type:varchar(60);" description:"任务类型"` // 任务名称 Name string `json:"name" gorm:"column:name;type:varchar(200);" description:"任务名称"` // 任务名称 Description string `json:"description" gorm:"column:description;type:text;" description:"任务描述"` // 尝试执行,用于做执行前检查 DryRun bool `json:"dryrun" gorm:"column:dryrun;type:bool;" description:"尝试执行,用于做执行前检查"` // 任务的参数 Params any `json:"params" gorm:"column:params;serializer:json;type:json" description:"任务参数"` // 任务标签 Label map[string]string `json:"label" bson:"label" gorm:"column:label;serializer:json;type:json" description:"任务标签" optional:"true"` // 任务执行结束回调 WebHooks []*webhook.WebHook `` /* 138-byte string literal not displayed */ // contains filtered or unexported fields }
func (*TaskSpec) SetDescription ¶ added in v0.0.14
type TaskStatus ¶
type TaskStatus struct { // 开始执行时间 StartAt *time.Time `json:"start_at" gorm:"column:start_at;type:timestamp;" description:"开始执行时间"` // 执行结束的时间 EndAt *time.Time `json:"end_at" gorm:"column:end_at;type:timestamp;" description:"执行结束的时间"` // 任务状态更新时间 UpdateAt *time.Time `json:"update_at" gorm:"column:update_at;type:timestamp;" description:"任务状态更新时间"` // 任务执行状态 Status STATUS `json:"status" gorm:"column:status;type:tinyint(2);" description:"任务执行状态"` // 失败信息 Message string `json:"message" gorm:"column:message;type:text;" description:"失败信息"` // 执行过程中的事件, 执行日志 Events []*event.Event `json:"events" gorm:"column:events;type:json;serializer:json;" description:"执行过程中的事件"` // contains filtered or unexported fields }
func NewTaskStatus ¶
func NewTaskStatus() *TaskStatus
func (*TaskStatus) SetEndAt ¶
func (s *TaskStatus) SetEndAt(t time.Time)
func (*TaskStatus) SetStartAt ¶
func (s *TaskStatus) SetStartAt(t time.Time)
func (*TaskStatus) SetUpdateAt ¶
func (s *TaskStatus) SetUpdateAt(t time.Time)
Click to show internal directories.
Click to hide internal directories.