job

package
v0.0.67 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultCronJobSpec = "@every 5m"

Variables

View Source
var BuiltinJobs = &BuiltinJob{jobs: make(map[string]cron.Job, 100)}
View Source
var ErrCronExpression = errors.New("错误的CRON表达式")
View Source
var ErrStartServer = errors.New("启动服务错误")

Functions

func All

func All(ctx *gin.Context)

All 列表

func ExecJob

func ExecJob(ctx *gin.Context)

ExecJob 执行任务

func GetMigration

func GetMigration() *gormigrate.Migration

func Group

func Group(app *gin.RouterGroup)

func LogicCreate

func LogicCreate(req *Request) (uint, error)

LogicCreate 添加

func LogicExecJob

func LogicExecJob(id uint) error

LogicExecJob 执行任务

func LogicModifyJobSpec

func LogicModifyJobSpec(id uint, spec string) error

LogicModifyJobSpec 更新任务条件

func LogicModifyStatus

func LogicModifyStatus(id uint, status string) error

LogicModifyStatus 更新状态

func LogicUpdate

func LogicUpdate(id uint, req *Request) error

LogicUpdate 更新

func ModifyJobSpec

func ModifyJobSpec(ctx *gin.Context)

ModifyJobSpec 更新任务条件

func ModifyStatus

func ModifyStatus(ctx *gin.Context)

ModifyStatus 更新状态

func NameScope

func NameScope(name string) func(db *gorm.DB) *gorm.DB

NameScope 根据 name 查询 - name 任务名称

func OnceJob added in v0.0.3

func OnceJob(cmd cron.Job, d time.Duration)

OnceJob

func StartJob

func StartJob()

StartJob

func StatusScope

func StatusScope(status string) func(db *gorm.DB) *gorm.DB

StatusScope 根据 status 查询 - status 数据status

func StopJob

func StopJob()

StopJob

func UpdateExecInfo

func UpdateExecInfo(jobName, message string) error

UpdateExecInfo

Types

type BaseJob

type BaseJob struct {
	EntryId cron.EntryID `gorm:"uniqueIndex:entry_id;column:entry_id;type:char(15);default:0" json:"entryId" binding:"required"`  // 任务id
	Name    string       `gorm:"uniqueIndex:service_name;column:name;type:varchar(30);default:''" json:"name" binding:"required"` // 任务名称
	Spec    string       `gorm:"column:spec;type:varchar(10);default:''" json:"spec" binding:"required"`                          // 任务cron 配置
	Status  string       `gorm:"column:status;type:varchar(10);default:''" json:"status" binding:"required"`                      // 任务状态 running stoped
	Desc    string       `gorm:"column:desc;type:varchar(50);default:''" json:"desc"`                                             // 任务描述
	Count   int          `gorm:"column:count;type:bigint;default:0" json:"count"`                                                 // 运行记录
	Message string       `gorm:"column:message;type:varchar(2000);default:''" json:"message"`                                     // 执行信息
	LastAt  *time.Time   `json:"lastAt"`                                                                                          // 运行时间
}

type BuiltinJob

type BuiltinJob struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

定义内置任务

func (*BuiltinJob) AddBuiltinJob

func (bj *BuiltinJob) AddBuiltinJob(name, spec, desc string, job cron.Job) error

func (*BuiltinJob) GetBuiltinJob

func (bj *BuiltinJob) GetBuiltinJob(name string) cron.Job

type HoldServiceJobRequest

type HoldServiceJobRequest struct {
	Name string `json:"name" form:"name"`
}

type Job

type Job struct {
	gorm.Model
	BaseJob
}

Job

func (*Job) Create

func (item *Job) Create(db *gorm.DB) (uint, error)

Create 添加

func (*Job) Delete

func (item *Job) Delete(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Delete 删除

func (*Job) Update

func (item *Job) Update(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Update 更新

type ModifyJobSpecRequest

type ModifyJobSpecRequest struct {
	Spec string `json:"spec" form:"spec"`
}

type ModifyStatusRequest

type ModifyStatusRequest struct {
	Status string `json:"status" form:"status"`
}

type PageResponse

type PageResponse struct {
	Item []*Response
}

Paginate 分页

func (*PageResponse) Find

func (res *PageResponse) Find(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

func (*PageResponse) Paginate

func (res *PageResponse) Paginate(db *gorm.DB, pageScope func(db *gorm.DB) *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) (int64, error)

type ReqPaginate

type ReqPaginate struct {
	orm.Paginate
	Status string `json:"status" form:"status"`
	Name   string `json:"name" form:"name"`
}

type Request

type Request struct {
	BaseJob
}

func (*Request) Request

func (req *Request) Request(ctx *gin.Context) error

type Response

type Response struct {
	orm.Model
	BaseJob
}

func (*Response) First

func (res *Response) First(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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