master
parent
62b10566cf
commit
8d3562c5ee
3 changed files with 42 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||||||
|
package xserver |
||||||
|
|
||||||
|
import ( |
||||||
|
"context" |
||||||
|
"github.com/robfig/cron" |
||||||
|
) |
||||||
|
|
||||||
|
type cronServer struct { |
||||||
|
cr *cron.Cron |
||||||
|
err error |
||||||
|
} |
||||||
|
|
||||||
|
func NewCron() *cronServer { |
||||||
|
cr := cron.New() |
||||||
|
return &cronServer{ |
||||||
|
cr: cr, |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
func (c *cronServer) Register(spec string, fun func()) error { |
||||||
|
return c.cr.AddFunc(spec, fun) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *cronServer) Start() error { |
||||||
|
if c.err != nil { |
||||||
|
return c.err |
||||||
|
} |
||||||
|
c.cr.Start() |
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
func (c *cronServer) Shutdown(ctx context.Context) error { |
||||||
|
c.cr.Stop() |
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
func (c *cronServer) Name() string { |
||||||
|
return "cron" |
||||||
|
} |
Loading…
Reference in new issue