2020-09-01 10:34:11 +08:00
|
|
|
package scheduler
|
|
|
|
|
|
|
|
|
|
import (
|
2022-06-02 17:41:11 +08:00
|
|
|
"mayfly-go/pkg/biz"
|
2021-01-08 15:37:32 +08:00
|
|
|
|
2020-09-01 10:34:11 +08:00
|
|
|
"github.com/robfig/cron/v3"
|
|
|
|
|
)
|
|
|
|
|
|
2022-07-24 15:37:13 +08:00
|
|
|
func init() {
|
|
|
|
|
Start()
|
|
|
|
|
}
|
|
|
|
|
|
2021-04-16 15:10:07 +08:00
|
|
|
var cronService = cron.New()
|
2020-09-01 10:34:11 +08:00
|
|
|
|
|
|
|
|
func Start() {
|
2021-04-16 15:10:07 +08:00
|
|
|
cronService.Start()
|
2020-09-01 10:34:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Stop() {
|
2021-04-16 15:10:07 +08:00
|
|
|
cronService.Stop()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Remove(id cron.EntryID) {
|
|
|
|
|
cronService.Remove(id)
|
2020-09-01 10:34:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetCron() *cron.Cron {
|
2021-04-16 15:10:07 +08:00
|
|
|
return cronService
|
2020-09-01 10:34:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func AddFun(spec string, cmd func()) cron.EntryID {
|
2021-04-16 15:10:07 +08:00
|
|
|
id, err := cronService.AddFunc(spec, cmd)
|
2023-02-20 18:41:45 +08:00
|
|
|
biz.ErrIsNilAppendErr(err, "添加任务失败: %s")
|
2020-09-01 10:34:11 +08:00
|
|
|
return id
|
|
|
|
|
}
|