Documentation
¶
Index ¶
- Constants
- type CronClient
- type CronConfig
- func (cronConfig *CronConfig) ChangeCornStatus(id string, status bool) (err error)
- func (cronConfig *CronConfig) ChangeFuncSpec(id string, spec string) (err error)
- func (cronConfig *CronConfig) DeleteLoseCronData(nodeName, name string, status *bool) (err error)
- func (cronConfig CronConfig) NewClient(nodeName, name, desc, spec string, cmd func(), oneOff, tmpOff bool) (cronClient CronClient, err error)
- func (cronConfig *CronConfig) PubChangeFuncSpec(id string, spec string) (err error)
- func (cronConfig *CronConfig) PubChangeFuncStatus(id string, status bool) (err error)
- func (cronConfig *CronConfig) SubAndChangeFuncSpec()
- type CronSpec
Constants ¶
View Source
const ( CronChangeChannelName = "cronchange" DBKeyExpChannelName = "__keyevent@%s__:expired" // 键过期通道名 DBKeyDelChannelName = "__keyevent@%s__:del" // 键删除通道名 )
View Source
const ( // RdbCronHeartKey 定时任务心跳 CronHB:节点名称:定时任务名称 RdbCronHeartKey = CronHeartTag + ":%s:%s" // DefaultCronHeartbeatRate 默认定时任务心跳频率 DefaultCronHeartbeatRate = 5 // DefaultCronHeartbeatWait 定时任务心跳等待 DefaultCronHeartbeatWait = 1 )
View Source
const ( True = "true" False = "false" )
View Source
const ( ChangeCronTag = "CC" ChangeCronStatusTag = "SC" CronHeartTag = "CronHB" )
View Source
const ( ExpConfig = "Ex" // 开启过期通知 DelConfig = "Eg" // 开启删除通知 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CronClient ¶
type CronClient struct { ID string `json:"id" gorm:"column:id;primary_key;type:varchar(36)"` CreateTime string `json:"createTime" gorm:"column:create_time;type:varchar(20);index;"` UpdateTime string `json:"updateTime" gorm:"column:update_time;type:varchar(20);"` NodeName string `json:"nodeName" gorm:"column:node_name;type:varchar(50);index;"` // 节点名称 TmpOff bool `json:"tmpOff" gorm:"column:tmp_off;comment:临时开关;index;"` // 临时开关(是否临时定时任务) OneOff bool `json:"oneOff" gorm:"column:one_off;comment:单例开关;index;"` // 单例开关 Name string `json:"name" gorm:"column:name;comment:任务名称;index;type:varchar(50);"` // 任务名称 Desc string `json:"desc" gorm:"column:desc;comment:任务描述;type:text;"` // 任务描述 Spec string `json:"spec" gorm:"column:spec;comment:Cron表达式;type:varchar(50);"` // Cron表达式 EntryID int `json:"entryId" gorm:"column:entry_id;comment:entryId;index;"` // entryId Status bool `json:"status" gorm:"column:status;comment:任务状态;default:false"` // 状态 LastStartTime string `json:"lastStartTime" gorm:"column:last_start_time;type:varchar(19);"` // 上次执行启动时间 LastEndTime string `json:"lastEndTime" gorm:"column:last_end_time;type:varchar(19);"` // 上次执行结束时间 Cron *cron.Cron `json:"-" gorm:"-"` // 定时任务管理器 Cmd func() `json:"-" gorm:"-"` // 定时任务函数 Heartbeat func() `json:"-" gorm:"-"` // 心跳 }
type CronConfig ¶
type CronConfig struct { DB *gorm.DB // 数据库连接池 RDB *redis.Client // Redis连接池 RDBIndex *int // Redis数据库索引 HeartbeatRate int // 心跳频率(秒) }
func (*CronConfig) ChangeCornStatus ¶
func (cronConfig *CronConfig) ChangeCornStatus(id string, status bool) (err error)
ChangeCornStatus *
- @Description: 启动/停止定时任务
- @receiver cronConfig
- @param id
- @param status
- @return err
func (*CronConfig) ChangeFuncSpec ¶
func (cronConfig *CronConfig) ChangeFuncSpec(id string, spec string) (err error)
ChangeFuncSpec *
- @Description: 动态修改定时任务执行频率
- @receiver cronConfig
- @param id
- @param spec
- @return err
func (*CronConfig) DeleteLoseCronData ¶
func (cronConfig *CronConfig) DeleteLoseCronData(nodeName, name string, status *bool) (err error)
DeleteLoseCronData *
- @Description: 移除失效的Cron数据
- @receiver cronConfig
- @param nodeName 节点名称
- @param name 定时任务名称
- @return err
func (CronConfig) NewClient ¶
func (cronConfig CronConfig) NewClient(nodeName, name, desc, spec string, cmd func(), oneOff, tmpOff bool) (cronClient CronClient, err error)
NewClient *
- @Description: 创建一个定时任务
- @receiver cronConfig
- @param name
- @param desc
- @param spec
- @param cmd
- @param oneOff
- @return cronClient
- @return err
func (*CronConfig) PubChangeFuncSpec ¶
func (cronConfig *CronConfig) PubChangeFuncSpec(id string, spec string) (err error)
PubChangeFuncSpec *
- @Description: 动态修改定时任务执行频率
- @receiver cronConfig
- @param id
- @param spec
- @return err
func (*CronConfig) PubChangeFuncStatus ¶
func (cronConfig *CronConfig) PubChangeFuncStatus(id string, status bool) (err error)
PubChangeFuncStatus *
- @Description: 启动/停止定时任务
- @receiver cronConfig
- @param id
- @param status
- @return err
func (*CronConfig) SubAndChangeFuncSpec ¶
func (cronConfig *CronConfig) SubAndChangeFuncSpec()
SubAndChangeFuncSpec *
- @Description: 订阅并修改Spec
type CronSpec ¶
type CronSpec struct { ID string `json:"id" gorm:"column:id;primary_key;type:varchar(36)"` CreateTime string `json:"createTime" gorm:"column:create_time;type:varchar(20);index;"` UpdateTime string `json:"updateTime" gorm:"column:update_time;type:varchar(20);"` NodeName string `json:"nodeName" gorm:"column:node_name;type:varchar(50);index;"` // 节点名称 Name string `json:"name" gorm:"column:name;comment:任务名称;index;type:varchar(50);"` // 任务名称 Spec string `json:"spec" gorm:"column:spec;comment:Cron表达式;type:varchar(50);"` // Cron表达式 }
CronSpec Cron执行频率
Click to show internal directories.
Click to hide internal directories.