wip: output, pipe
This commit is contained in:
27
internal/model/es.go
Normal file
27
internal/model/es.go
Normal file
@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
type ESDoc struct {
|
||||
DocId string `json:"_id"`
|
||||
Index string `json:"_index"`
|
||||
Content map[string]any `json:"_source"`
|
||||
}
|
||||
|
||||
type ESResponse struct {
|
||||
ScrollId string `json:"_scroll_id"`
|
||||
Took int `json:"took"`
|
||||
TimedOut bool `json:"timed_out"`
|
||||
Shards struct {
|
||||
Total int `json:"total"`
|
||||
Successful int `json:"successful"`
|
||||
Skipped int `json:"skipped"`
|
||||
Failed int `json:"failed"`
|
||||
} `json:"_shards"`
|
||||
Hits struct {
|
||||
Total struct {
|
||||
Value int `json:"value"`
|
||||
Relation string `json:"relation"`
|
||||
} `json:"total"`
|
||||
MaxScore float64 `json:"max_score"`
|
||||
Hits []*ESDoc `json:"hits"`
|
||||
} `json:"hits"`
|
||||
}
|
@ -15,3 +15,6 @@ type OpLogger interface {
|
||||
Render(content map[string]any) (string, error)
|
||||
Template() string
|
||||
}
|
||||
|
||||
type TaskRow interface {
|
||||
}
|
||||
|
@ -89,17 +89,65 @@ func (t TaskStatus) Label() string {
|
||||
}
|
||||
}
|
||||
|
||||
type TaskRunType int64
|
||||
|
||||
const (
|
||||
TaskRunTypeOnce TaskRunType = iota
|
||||
TaskRunTypeTiming
|
||||
TaskRunTypeCron
|
||||
)
|
||||
|
||||
func (t TaskRunType) Value() int64 { return int64(t) }
|
||||
|
||||
func (t TaskRunType) Code() string {
|
||||
switch t {
|
||||
case TaskRunTypeOnce:
|
||||
return "once"
|
||||
case TaskRunTypeTiming:
|
||||
return "timing"
|
||||
case TaskRunTypeCron:
|
||||
return "cron"
|
||||
default:
|
||||
return "unknown"
|
||||
}
|
||||
}
|
||||
|
||||
func (t TaskRunType) Label() string {
|
||||
switch t {
|
||||
case TaskRunTypeOnce:
|
||||
return "手动执行"
|
||||
case TaskRunTypeTiming:
|
||||
return "定时执行"
|
||||
case TaskRunTypeCron:
|
||||
return "周期执行"
|
||||
default:
|
||||
return "未知"
|
||||
}
|
||||
}
|
||||
|
||||
func (t TaskRunType) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(map[string]any{"code": t.Code(), "value": t.Value(), "label": t.Label()})
|
||||
}
|
||||
|
||||
func (t TaskRunType) All() []Enum {
|
||||
return []Enum{TaskRunTypeOnce, TaskRunTypeTiming, TaskRunTypeCron}
|
||||
}
|
||||
|
||||
var _ Enum = TaskRunType(0)
|
||||
|
||||
type Task struct {
|
||||
Id uint64 `json:"id" gorm:"primaryKey;column:id"`
|
||||
CreatedAt int64 `json:"created_at" gorm:"column:created_at;autoCreateTime:milli"`
|
||||
UpdatedAt int64 `json:"updated_at" gorm:"column:updated_at;autoUpdateTime:milli"`
|
||||
DeletedAt int64 `json:"deleted_at" gorm:"index;column:deleted_at;default:0"`
|
||||
|
||||
TaskName string `json:"task_name" gorm:"column:task_name;type:varchar(256)"`
|
||||
TaskRunType string `json:"task_run_type" gorm:"column:task_run_type;type:varchar(16);default:once"` // cron: C-"cron syntax", "once", timestamp: T-1234567890123 毫秒时间戳
|
||||
TimeoutSecond int `json:"timeout_second" gorm:"column:timeout_second"`
|
||||
TaskStatus TaskStatus `json:"task_status" gorm:"column:task_status"`
|
||||
TaskLog string `json:"task_log" gorm:"task_log"`
|
||||
TaskName string `json:"task_name" gorm:"column:task_name;type:varchar(256)"`
|
||||
TaskRunType TaskRunType `json:"task_run_type" gorm:"column:task_run_type;type:varchar(16);default:0"` // cron: C-"cron syntax", "once", timestamp: T-1234567890123 毫秒时间戳
|
||||
TaskRunAt int64 `json:"task_run_at" gorm:"column:task_run_at"`
|
||||
TaskCron string `json:"task_cron" gorm:"column:task_cron;type:varchar(32)"`
|
||||
TaskTimeout int `json:"task_timeout" gorm:"column:task_timeout"`
|
||||
TaskStatus TaskStatus `json:"task_status" gorm:"column:task_status"`
|
||||
TaskLog string `json:"task_log" gorm:"task_log"`
|
||||
}
|
||||
|
||||
type Input struct {
|
||||
|
Reference in New Issue
Block a user