taskModel

package
v0.0.0-...-fdfd418 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TaskHTTP int8 = iota + 1 // HTTP协议
	TaskRPC                  // RPC方式执行命令
)
View Source
const (
	TaskLevelParent int8 = 1 // 父任务
	TaskLevelChild  int8 = 2 // 子任务(依赖任务)
)
View Source
const (
	TaskDependencyStatusStrong int8 = 1 // 强依赖
	TaskDependencyStatusWeak   int8 = 2 // 弱依赖
)
View Source
const (
	TaskHTTPMethodGet  int8 = 1
	TaskHttpMethodPost int8 = 2
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Task

type Task struct {
	TaskId           int                      `json:"taskId" gorm:"type:int(20); primary_key; auto_increment; not null"`
	TaskName         string                   `json:"taskName" gorm:"type:varchar(100); not null"`                              // 任务名称
	TaskLevel        int8                     `json:"taskLevel" gorm:"type:int(11); not null; index:IDX_task_level; default 1"` // 任务等级 1: 主任务 2: 依赖任务
	DependencyTaskId string                   `json:"dependencyTaskId" gorm:"type:varchar(100); not null; default ''"`          // 依赖任务ID,多个ID逗号分隔
	DependencyStatus int8                     `json:"dependencyStatus" gorm:"type:int(11); not null; default 1"`                // 依赖关系 1:强依赖 主任务执行成功, 依赖任务才会被执行 2:弱依赖
	CronExpression   string                   `json:"cronExpression" gorm:"type:varchar(100); not null"`                        // crontab
	Protocol         int8                     `json:"protocol" gorm:"type:int(11); not null; index:IDX_task_protocol"`          // 协议 1:http 2:系统命令
	Command          string                   `json:"command" gorm:"type:varchar(300); not null"`                               // URL地址或shell命令
	HttpMethod       int8                     `json:"httpMethod" gorm:"type:int(11); not null; default 1"`                      // http请求方法
	Timeout          int                      `json:"timeout" gorm:"type:int(11); not null; default 0"`                         // 任务执行超时时间(单位秒),0不限制
	IsMultiInstance  int8                     `json:"isMultiInstance" gorm:"type:int(11) ; not null; default 1"`                // 是否允许多实例运行
	RetryTimes       int8                     `json:"retryTimes" gorm:"type:int(11); not null; default 0"`                      // 重试次数
	RetryInterval    int16                    `json:"retryInterval" gorm:"type:int(11); not null; default 0"`                   // 重试间隔时间
	NotifyStatus     int8                     `json:"notifyStatus" gorm:"type:int(11); not null; default 1"`                    // 任务执行结束是否通知 0: 不通知 1: 失败通知 2: 执行结束通知 3: 任务执行结果关键字匹配通知
	NotifyType       int8                     `json:"notifyType" gorm:"type:int(11); not null; default 0"`                      // 通知类型 1: 邮件 2: slack 3: webhook
	NotifyReceiverId string                   `json:"notifyReceiverId" gorm:"type:varchar(300); not null; default ''"`          // 通知接受者ID, setting表主键ID,多个ID逗号分隔
	NotifyKeyword    string                   `json:"notifyKeyword" gorm:"type:varchar(200); not null; default ''"`
	TaskTag          string                   `json:"taskTag" gorm:"type:varchar(100); not null; default ''"`
	TaskRemark       string                   `json:"taskRemark" gorm:"type:varchar(200); not null; default ''"`                   // 备注
	TaskStatus       int8                     `json:"taskStatus" gorm:"type:int(11); not null; index:IDX_task_status ; default 0"` // 状态 1:正常 0:停止
	CreateTime       string                   `json:"createTime" gorm:"type:varchar(50); not null"`                                // 创建时间
	UpdateTime       string                   `json:"updateTime" gorm:"type:varchar(50); DEFAULT ''"`                              // 更新时间
	DeleteTime       string                   `json:"deleteTime" gorm:"type:varchar(50); DEFAULT ''"`                              // 删除时间
	Hosts            []taskHostModel.TaskHost `json:"hosts" gorm:"-"`
	NextRunTime      string                   `json:"nextRunTime" gorm:"-"`
}

任务

func (*Task) ActiveList

func (task *Task) ActiveList(page int, pageSize int) ([]Task, error)

获取所有激活任务

func (*Task) ActiveListByHostId

func (task *Task) ActiveListByHostId(hostId int) ([]Task, error)

获取某个主机下的所有激活任务

func (*Task) Delete

func (task *Task) Delete(taskId int)

删除

func (*Task) Detail

func (task *Task) Detail(taskId int) *Task

func (*Task) GetDependencyTaskList

func (task *Task) GetDependencyTaskList(ids string) ([]Task, error)

获取依赖任务列表

func (*Task) GetStatus

func (task *Task) GetStatus(taskId int) int8

func (*Task) IsExistsTaskName

func (task *Task) IsExistsTaskName(taskName string) int64

func (*Task) List

func (task *Task) List(page int, pageSize int, taskName string) ([]Task, int64)

func (*Task) Save

func (task *Task) Save() int

新增

func (*Task) Update

func (task *Task) Update(taskId int, fieldMap map[string]interface{}) int

type TaskDependencyStatus

type TaskDependencyStatus int8

type TaskHTTPMethod

type TaskHTTPMethod int8

type TaskLevel

type TaskLevel int8

type TaskProtocol

type TaskProtocol int8

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL