cronjob

package
v0.0.21 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2025 License: MIT Imports: 10 Imported by: 0

README

cron 任务管理

Documentation

Index

Constants

View Source
const (
	APP_NAME = "cronjobs"
)
View Source
const (
	PRIORITY = task.PRIORITY + 1
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CronJob

type CronJob 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 */

	// Cronjob参数
	CronJobSpec
	// 状态
	CronJobStatus
}

func NewCronJob

func NewCronJob(spec CronJobSpec) *CronJob

func (*CronJob) CronEntryID added in v0.0.21

func (c *CronJob) CronEntryID() cron.EntryID

func (*CronJob) TableName

func (c *CronJob) TableName() string

type CronJobSpec

type CronJobSpec struct {
	// 定时任务名称
	Name string `json:"name" gorm:"column:name;type:varchar(120)" description:"定时任务名称"`
	// 定时任务名称
	Description string `json:"description" gorm:"column:description;type:text" description:"定时任务描述"`
	// Cron表达式
	Cron string `json:"cron" gorm:"column:cron;type:varchar(120)" description:"Cron表达式"`
	// 是否启用改Cron
	Enabled *bool `json:"enabled" gorm:"column:enabled;type:bool" description:"是否启用改Cron"`
	// Task执行参数
	task.TaskSpec
}

func NewCronJobSpec

func NewCronJobSpec(cron string, spec task.TaskSpec) *CronJobSpec

func (*CronJobSpec) GetEnabled added in v0.0.15

func (t *CronJobSpec) GetEnabled() bool

func (*CronJobSpec) SetDescription

func (t *CronJobSpec) SetDescription(desc string) *CronJobSpec

func (*CronJobSpec) SetName

func (t *CronJobSpec) SetName(name string) *CronJobSpec

type CronJobStatus added in v0.0.16

type CronJobStatus struct {
	// 关联的cron实例Id
	RefInstanceId int `json:"ref_instance_id" gorm:"column:ref_instance_id;" description:"关联的cron实例Id"`
	// CronJob执行的Node节点信息
	Node string `json:"node" gorm:"column:node;" description:"CronJob执行的Node节点信息"`
	// 状态更新时间
	UpdateAt *time.Time `json:"update_at" gorm:"column:update_at;type:timestamp;;" description:"状态更新时间"`
	// 最新一次允许时间
	LatestRunAt *time.Time `json:"latest_run_at" gorm:"column:latest_run_at;type:timestamp;;" description:"最新一次允许时间"`
	// 最新一次执行的任务
	LatestTaskId string `json:"latest_task_id" gorm:"column:latest_task_id;" description:"最新一次执行的任务"`
	// 状态
	Status STATUS `json:"statsu" gorm:"column:statsu;" description:"CronJob状态"`
	// 状态
	Message string `json:"message" gorm:"column:message;" description:"状态的消息"`
}

func (*CronJobStatus) Failed added in v0.0.21

func (t *CronJobStatus) Failed(msg string)

func (*CronJobStatus) SetUpdateAt added in v0.0.21

func (s *CronJobStatus) SetUpdateAt(v time.Time)

func (*CronJobStatus) TableName added in v0.0.21

func (s *CronJobStatus) TableName() string

type DeleteCronJobRequest

type DeleteCronJobRequest struct {
	DescribeCronJobRequest
}

type DescribeCronJobRequest

type DescribeCronJobRequest struct {
	// 任务Id
	Id string `json:"id" description:"Id"`
}

func NewDescribeCronJobRequest added in v0.0.21

func NewDescribeCronJobRequest(id string) *DescribeCronJobRequest

type QUEUE_EVENT_TYPE added in v0.0.21

type QUEUE_EVENT_TYPE string
const (
	QUEUE_EVENT_TYPE_ADD    QUEUE_EVENT_TYPE = "add"
	QUEUE_EVENT_TYPE_UPDATE QUEUE_EVENT_TYPE = "update"
	QUEUE_EVENT_TYPE_DELETE QUEUE_EVENT_TYPE = "delete"
)

type QueryCronJobRequest

type QueryCronJobRequest struct {
	// 分页参数
	*request.PageRequest
	// 任务名称
	Name string `json:"name"`
}

func NewQueryCronJobRequest

func NewQueryCronJobRequest() *QueryCronJobRequest

type QueueEvent added in v0.0.21

type QueueEvent struct {
	// 事件类型
	Type QUEUE_EVENT_TYPE `json:"type"`
	// 事件值
	CronJobId string `json:"cron_job_id"`
}

func NewQueueEvent added in v0.0.21

func NewQueueEvent() *QueueEvent

func (*QueueEvent) Load added in v0.0.21

func (e *QueueEvent) Load(v []byte) error

func (*QueueEvent) String added in v0.0.21

func (e *QueueEvent) String() string

type STATUS added in v0.0.21

type STATUS string
const (
	// 队列中
	STATUS_PENDDING STATUS = "PENDDING"
	// 更新中
	STATUS_UPDATING STATUS = "UPDATING"
	// 删除中
	STATUS_DELETING STATUS = "DELETING"
	// 运行中
	STATUS_RUNNING STATUS = "RUNNING"
	// 已停止
	STATUS_STOPPED STATUS = "STOPPED"
	// 添加失败
	STATUS_FAILED STATUS = "FAILED"
)

type Service

type Service interface {
	// 添加CronJob
	AddCronJob(context.Context, *CronJobSpec) (*CronJob, error)
	// 查询列表
	QueryCronJob(context.Context, *QueryCronJobRequest) (*types.Set[*CronJob], error)
	// 查询详情
	DescribeCronJob(context.Context, *DescribeCronJobRequest) (*CronJob, error)
	// 更新Cronjob
	UpdateCronJob(context.Context, *UpdateCronJobRequest) (*CronJob, error)
	// 删除Cronjob
	DeleteCronJob(context.Context, *DeleteCronJobRequest) (*CronJob, error)
}

func GetService

func GetService() Service

type UpdateCronJobRequest

type UpdateCronJobRequest struct {
	DescribeCronJobRequest
	CronJobSpec
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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