Documentation
¶
Overview ¶
Package cron
Package cron ¶
定时任务 仅作定时协调部分 存在设计缺陷,目前仅支持基于Time.Ticker的定时器任务 Cron任务需要基于cron实现
Index ¶
- Constants
- Variables
- func AddJobAPPCheck()
- func AddJobAPPDumps()
- func AddJobAPPSync()
- func AddJobBackup()
- func AddJobDBPersist()
- func AddJobDBSaver()
- func AddJobLogRotate()
- func AddJobOctopusMetaSync()
- func AddTicker(t int, taskName, des string, f func())
- func InitBackgroundJobs()
- func InitCronJobs()
- func InsureTickerExit()
- type Cron
- type CronManager
- func (c *CronManager) AddTask(spec, name string, f func()) (cronID cron.EntryID, err error)
- func (c *CronManager) AllTask() ([]cron.Entry, error)
- func (c *CronManager) Check() bool
- func (c *CronManager) DelTask(id cron.EntryID) error
- func (c *CronManager) StartTask(id cron.EntryID) error
- func (c *CronManager) StopTask(id cron.EntryID) error
Constants ¶
View Source
const ( DurationDbSaver = 60 * 60 DurationDbPersist = 60 * 60 * 24 DurationAppsync = 60 * 60 DurationOctopusSync = 60 * 60 DurationAppSyncDB = 60 DurationAppCheck = 60 * 60 DurationLogRotate = 1 * 60 * 60 * 24 DurationAppBackup = 1 * 60 * 60 * 24 )
启动时执行的轮询任务 用于随时刷新持久化数据 持久化数据用于恢复
View Source
const (
ErrCronNull = "cron instance is null"
)
View Source
const (
SpecAPPBackup = "0 0 0 1/7 * ?"
)
Variables ¶
View Source
var CronJobMap map[cron.EntryID]*Cron
CronJobMap 保存所有的定时任务 没必要使用syncmap 采用内部加锁的方式保证数据安全性
Functions ¶
func AddJobOctopusMetaSync ¶ added in v1.0.7
func AddJobOctopusMetaSync()
AddJobOctopusMetaSync 重载整个octopus目录
func InitBackgroundJobs ¶
func InitBackgroundJobs()
func InitCronJobs ¶ added in v1.1.1
func InitCronJobs()
Types ¶
type Cron ¶
type Cron struct {
CronID cron.EntryID `json:"cron_id"`
CronName string `json:"cron_name"`
CreateTime time.Time `json:"create_time"`
Start time.Time `json:"start"`
ExecuteTimes int `json:"execute_times"`
Status string `json:"status"`
Finish bool `json:"finish"`
IsSaved bool `json:"is_saved"` // 持久化数据库
}
type CronManager ¶
type CronManager struct {
CreateTime string
// contains filtered or unexported fields
}
CronManager cron内部实现基于cronV3
func (*CronManager) AddTask ¶
func (c *CronManager) AddTask(spec, name string, f func()) (cronID cron.EntryID, err error)
AddTask 添加cron任务 添加任务仅是存储并不会立刻启动
func (*CronManager) AllTask ¶
func (c *CronManager) AllTask() ([]cron.Entry, error)
AllTask 返回cron内部的全部任务
func (*CronManager) DelTask ¶
func (c *CronManager) DelTask(id cron.EntryID) error
DelTask 直接删除定时任务 由cron保证从内存中去除
Click to show internal directories.
Click to hide internal directories.