mirror of
https://gitee.com/johng/gf
synced 2026-07-06 21:45:34 +08:00
gcron增加DelayAdd方法
This commit is contained in:
@ -50,6 +50,11 @@ func Add(spec string, f func(), name ... string) error {
|
||||
return defaultCron.Add(spec, f, name...)
|
||||
}
|
||||
|
||||
// 延迟添加定时任务,delay参数单位为秒
|
||||
func DelayAdd(delay int, spec string, f func(), name ... string) {
|
||||
defaultCron.DelayAdd(delay, spec, f, name...)
|
||||
}
|
||||
|
||||
// 检索指定名称的定时任务
|
||||
func Search(name string) *Entry {
|
||||
return defaultCron.Search(name)
|
||||
|
||||
@ -14,6 +14,7 @@ import (
|
||||
"gitee.com/johng/gf/third/github.com/robfig/cron"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 添加定时任务
|
||||
@ -39,7 +40,7 @@ func (c *Cron) Add(spec string, f func(), name ... string) error {
|
||||
}
|
||||
} else {
|
||||
if err := c.cron.AddFunc(spec, f); err == nil {
|
||||
entry := &Entry{
|
||||
entry := &Entry {
|
||||
Spec : spec,
|
||||
Cmd : runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name(),
|
||||
Time : gtime.Now(),
|
||||
@ -55,6 +56,15 @@ func (c *Cron) Add(spec string, f func(), name ... string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 延迟添加定时任务,delay参数单位为秒
|
||||
func (c *Cron) DelayAdd(delay int, spec string, f func(), name ... string) {
|
||||
gtime.SetTimeout(time.Duration(delay)*time.Second, func() {
|
||||
if err := c.Add(spec, f, name ...); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 检索指定名称的定时任务
|
||||
func (c *Cron) Search(name string) *Entry {
|
||||
entry, _ := c.searchEntry(name)
|
||||
|
||||
@ -29,12 +29,12 @@ const (
|
||||
// "2018/10/31 - 16:38:46"
|
||||
// "2018-02-09",
|
||||
// 日期连接符号支持'-'或者'/'
|
||||
TIME_REAGEX_PATTERN1 = `(\d{2,4}[-/]\d{2}[-/]\d{2})[:\sT-]*(\d{0,2}:{0,1}\d{0,2}:{0,1}\d{0,2}){0,1}\.{0,1}(\d{0,9})([\sZ]*)([\+-]{0,1})([:\d]*)`
|
||||
TIME_REAGEX_PATTERN1 = `(\d{2,4}[-/]\d{2}[-/]\d{2})[:\sT-]*(\d{0,2}:{0,1}\d{0,2}:{0,1}\d{0,2}){0,1}\.{0,1}(\d{0,9})([\sZ]{0,1})([\+-]{0,1})([:\d]*)`
|
||||
// 01-Nov-2018 11:50:28
|
||||
// 01/Nov/2018 11:50:28
|
||||
// 01/Nov/2018:11:50:28
|
||||
// 01/Nov/18 11:50:28
|
||||
TIME_REAGEX_PATTERN2 = `(\d{1,2}[-/][A-Za-z]{3,}[-/]\d{2,4})[:\sT-]*(\d{0,2}:{0,1}\d{0,2}:{0,1}\d{0,2}){0,1}\.{0,1}(\d{0,9})([\sZ]*)([\+-]{0,1})([:\d]*)`
|
||||
TIME_REAGEX_PATTERN2 = `(\d{1,2}[-/][A-Za-z]{3,}[-/]\d{2,4})[:\sT-]*(\d{0,2}:{0,1}\d{0,2}:{0,1}\d{0,2}){0,1}\.{0,1}(\d{0,9})([\sZ]{0,1})([\+-]{0,1})([:\d]*)`
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user