db

package
v0.0.0-...-f6ff08b Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BEGIN_TABLE_POS = 1
)
View Source
const (
	GORM_DUPLICATE_ERR_KEY = "Duplicate entry"
)
View Source
const (
	// 优先1年
	MAX_PRIORITY = 3600 * 24 * 30 * 12
)

Variables

View Source
var DB *gorm.DB

Functions

func ConventTaskIdList

func ConventTaskIdList(tasks []*Task) []string

ConventTaskIdList 任务信息列表转换成对应任务ID列表

func GetTaskTableName

func GetTaskTableName(taskType string) string

GetTaskTableName 获取short task 表名

func InitDB

func InitDB() error

InitDB 初始化DB

func IsDupErr

func IsDupErr(err error) bool

IsDupErr 重复记录错误判定

func IsValidStatus

func IsValidStatus(status TaskEnum) bool

IsValidStatus 任务状态合法性检验

Types

type Task

type Task struct {
	Id               uint64
	UserId           string
	TaskId           string
	TaskType         string
	TaskStage        string
	Status           int
	Priority         int
	CrtRetryNum      int
	MaxRetryNum      int
	MaxRetryInterval int
	ScheduleLog      string
	TaskContext      string // task struct json string
	OrderTime        int64
	CreateTime       *time.Time
	ModifyTime       *time.Time
}

Task 任务表

var TaskNsp Task

func (*Task) BatchSetOwnerStatusWithPendingOutModify

func (p *Task) BatchSetOwnerStatusWithPendingOutModify(db *gorm.DB,
	taskIdList []string, owner string, status TaskEnum) (int64, error)

func (*Task) BatchSetStatus

func (p *Task) BatchSetStatus(db *gorm.DB,
	taskIdList []string, status TaskEnum) error

BatchSetStatus batch set

func (*Task) BeforeCreate

func (p *Task) BeforeCreate(scope *gorm.Scope) error

BeforeCreate 创建之前的回调函数

func (*Task) Create

func (p *Task) Create(db *gorm.DB, taskType, pos string, task *Task) error

Create 创建记录

func (*Task) CreateNextTable

func (p *Task) CreateNextTable(db *gorm.DB, taskType, pos string) error

CreateNextTable 创建新表

func (*Task) Find

func (p *Task) Find(db *gorm.DB, taskId string) (*Task, error)

Find 查找记录

func (*Task) GenTaskId

func (p *Task) GenTaskId(taskType, pos string) string

GenTaskId 生成对应taskId

func (*Task) GetAliveTaskCount

func (p *Task) GetAliveTaskCount(db *gorm.DB, taskType, pos string) (int, error)

GetAliveTaskCount 获取处于激活状态的任务数

func (*Task) GetAliveTaskList

func (p *Task) GetAliveTaskList(db *gorm.DB, taskType, pos string, limit int) ([]*Task, error)

GetAliveTaskList 获取处于激活状态的任务列表

func (*Task) GetAllTaskCount

func (p *Task) GetAllTaskCount(db *gorm.DB, taskType, pos string) (int, error)

GetAllTaskCount 获取所有任务数

func (*Task) GetAssignTasksByOwnerStatus

func (p *Task) GetAssignTasksByOwnerStatus(db *gorm.DB,
	taskIdList []string, owner string, status TaskEnum, limit int64) ([]*Task, error)

GetAssignTasksByOwnerStatus 在指定任务列表中获取对应归宿和状态的任务列表

func (*Task) GetLongTimeProcessing

func (p *Task) GetLongTimeProcessing(db *gorm.DB,
	taskType, pos string, maxProcessTime int64, limit int) ([]*Task, error)

GetLongTimeProcessing 获取超过最大执行时间的任务列表

func (*Task) GetTaskCountByStatus

func (p *Task) GetTaskCountByStatus(db *gorm.DB, taskType, pos string, status int) (int, error)

GetTaskCountByStatus 根据状态获取任务数

func (*Task) GetTaskList

func (p *Task) GetTaskList(db *gorm.DB,
	pos string, taskType string, status TaskEnum, limit int) ([]*Task, error)

GetTaskList 获取记录列表

func (*Task) IncreaseCrtRetryNum

func (p *Task) IncreaseCrtRetryNum(db *gorm.DB, taskId string) error

IncreaseCrtRetryNum 增加一次对应任务的重试次数

func (*Task) ModifyTimeoutPending

func (p *Task) ModifyTimeoutPending(db *gorm.DB, taskType, pos string, maxProcessTime int64) error

ModifyTimeoutPending 更新超过最大执行时间的任务为等待状态

func (*Task) Save

func (p *Task) Save(db *gorm.DB, task *Task) error

Save 保存记录

func (*Task) SetContext

func (p *Task) SetContext(db *gorm.DB, taskId, context string) error

SetContext 设置任务的上下文

func (*Task) SetScheduleLog

func (p *Task) SetScheduleLog(db *gorm.DB, ScheduleLog string) error

SetScheduleLog 设置任务的调度信息

func (*Task) SetStatus

func (p *Task) SetStatus(db *gorm.DB, taskId string, status TaskEnum) error

SetStatus 设置任务对应状态

func (*Task) SetStatusFailed

func (p *Task) SetStatusFailed(db *gorm.DB, taskId string) error

SetStatusFailed 设置任务为失败状态

func (*Task) SetStatusPending

func (p *Task) SetStatusPending(db *gorm.DB, taskId string) error

SetStatusPending 设置任务为等待状态

func (*Task) SetStatusSucc

func (p *Task) SetStatusSucc(db *gorm.DB, taskId string) error

SetStatusSucc 设置任务为成功状态

func (*Task) SetStatusWithOutModifyTime

func (p *Task) SetStatusWithOutModifyTime(db *gorm.DB, taskId string, status TaskEnum) error

SetStatusWithOutModifyTime 设置对应任务状态,不更新modify_time

func (*Task) TableName

func (p *Task) TableName() string

TableName 表名

func (*Task) UpdateTask

func (p *Task) UpdateTask(db *gorm.DB) error

UpdateTask 更新任务

type TaskEnum

type TaskEnum int
const (
	TASK_STATUS_PENDING    TaskEnum = 1
	TASK_STATUS_PROCESSING TaskEnum = 2
	TASK_STATUS_SUCC       TaskEnum = 3
	TASK_STATUS_FAILED     TaskEnum = 4
)

type TaskPos

type TaskPos struct {
	Id               uint64
	TaskType         string
	ScheduleBeginPos int
	ScheduleEndPos   int
	CreateTime       *time.Time
	ModifyTime       *time.Time
}

TaskPos taskpos

var TaskPosNsp TaskPos

func (*TaskPos) BeforeCreate

func (this *TaskPos) BeforeCreate(scope *gorm.Scope) error

BeforeCreate 创建之前的回调函数

func (*TaskPos) Create

func (p *TaskPos) Create(db *gorm.DB, task *TaskPos) error

Create 创建记录

func (*TaskPos) GetBeginSchedulePos

func (p *TaskPos) GetBeginSchedulePos(db *gorm.DB, taskSetName string) (int, error)

GetBeginSchedulePos 获取开始调度指针

func (*TaskPos) GetNextPos

func (p *TaskPos) GetNextPos(pos string) string

GetNextPos 获取下一个调度指针

func (*TaskPos) GetRandomSchedulePos

func (p *TaskPos) GetRandomSchedulePos(db *gorm.DB, taskSetName string) (int, error)

GetRandomSchedulePos 生成随机调度指针

func (*TaskPos) GetTaskPos

func (p *TaskPos) GetTaskPos(db *gorm.DB, taskSetName string) (*TaskPos, error)

GetTaskPos 获取记录

func (*TaskPos) GetTaskPosList

func (p *TaskPos) GetTaskPosList(db *gorm.DB) ([]*TaskPos, error)

GetTaskPosList 获取记录列表

func (*TaskPos) Save

func (p *TaskPos) Save(db *gorm.DB, task *TaskPos) error

Save 保存记录

func (*TaskPos) TableName

func (p *TaskPos) TableName() string

TableName 表名

type TaskScheduleCfg

type TaskScheduleCfg struct {
	TaskType          string
	ScheduleLimit     int
	ScheduleInterval  int
	MaxProcessingTime int64
	MaxRetryNum       int
	MaxRetryInterval  int
	CreateTime        *time.Time
	ModifyTime        *time.Time
}

TaskScheduleCfg cfg

var TaskTypeCfgNsp TaskScheduleCfg

func (*TaskScheduleCfg) Create

func (p *TaskScheduleCfg) Create(db *gorm.DB, task *TaskScheduleCfg) error

Create 创建记录

func (*TaskScheduleCfg) GetTaskTypeCfg

func (p *TaskScheduleCfg) GetTaskTypeCfg(db *gorm.DB, taskType string) (*TaskScheduleCfg, error)

GetTaskTypeCfg 获取记录

func (*TaskScheduleCfg) GetTaskTypeCfgList

func (p *TaskScheduleCfg) GetTaskTypeCfgList(db *gorm.DB) ([]*TaskScheduleCfg, error)

GetTaskTypeCfgList 获取记录列表

func (*TaskScheduleCfg) Save

func (p *TaskScheduleCfg) Save(db *gorm.DB, task *TaskScheduleCfg) error

Save 保存记录

func (*TaskScheduleCfg) TableName

func (p *TaskScheduleCfg) TableName() string

TableName 表名

Jump to

Keyboard shortcuts

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