mirror of
https://github.com/rfyiamcool/cronlib.git
synced 2025-09-27 08:12:07 +08:00
74 lines
982 B
Go
74 lines
982 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/rfyiamcool/cronlib"
|
|
)
|
|
|
|
var (
|
|
cron = cronlib.New()
|
|
)
|
|
|
|
func main() {
|
|
handleClean()
|
|
|
|
time.AfterFunc(time.Duration(2*time.Second), func() {
|
|
// dynamic add
|
|
handleBackup()
|
|
})
|
|
|
|
time.AfterFunc(
|
|
12*time.Second,
|
|
func() {
|
|
log.Println("stop clean")
|
|
cron.StopService("clean")
|
|
|
|
log.Println("stop backup")
|
|
cron.StopService("backup")
|
|
},
|
|
)
|
|
|
|
cron.Start()
|
|
cron.Wait()
|
|
}
|
|
|
|
func handleClean() {
|
|
job, err := cronlib.NewJobModel(
|
|
"*/5 * * * * *",
|
|
func() {
|
|
pstdout("do clean gc action")
|
|
},
|
|
)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
err = cron.Register("clean", job)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
}
|
|
|
|
func handleBackup() {
|
|
job, err := cronlib.NewJobModel(
|
|
"*/5 * * * * *",
|
|
func() {
|
|
pstdout("do backup action")
|
|
},
|
|
)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
err = cron.DynamicRegister("backup", job)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
}
|
|
|
|
func pstdout(srv string) {
|
|
log.Println(srv)
|
|
}
|