forked from go/golangs_learn
5 changed files with 74 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||
package main |
|||
|
|||
import ( |
|||
"fmt" |
|||
"github.com/robfig/cron/v3" |
|||
) |
|||
|
|||
func main() { |
|||
crontab := cron.New() |
|||
task := func() { |
|||
fmt.Println("hello world") |
|||
} |
|||
// 添加定时任务, * * * * * 是 crontab,表示每分钟执行一次
|
|||
_, _ = crontab.AddFunc("* * * * *", task) |
|||
// 启动定时器
|
|||
crontab.Start() |
|||
// 定时任务是另起协程执行的,这里使用 select 简答阻塞.实际开发中需要
|
|||
// 根据实际情况进行控制
|
|||
select {} |
|||
} |
@ -0,0 +1,34 @@ |
|||
package main |
|||
|
|||
import ( |
|||
"log" |
|||
|
|||
"github.com/robfig/cron/v3" |
|||
) |
|||
|
|||
type Hello struct { |
|||
Str string |
|||
} |
|||
|
|||
func (h Hello) Run() { |
|||
log.Println(h.Str) |
|||
} |
|||
|
|||
func main() { |
|||
log.Println("Starting...") |
|||
|
|||
c := cron.New() |
|||
h := Hello{"I Love You!"} |
|||
// 添加定时任务
|
|||
_, _ = c.AddJob("*/2 * * * * * ", h) |
|||
// 添加定时任务
|
|||
_, _ = c.AddFunc("*/5 * * * * * ", func() { |
|||
log.Println("hello word") |
|||
}) |
|||
|
|||
// 其中任务
|
|||
c.Start() |
|||
// 关闭任务
|
|||
defer c.Stop() |
|||
select {} |
|||
} |
@ -0,0 +1,17 @@ |
|||
package main |
|||
|
|||
import ( |
|||
"github.com/robfig/cron/v3" |
|||
"log" |
|||
) |
|||
|
|||
func main() { |
|||
c := cron.New() |
|||
_, _ = c.AddFunc("@every 5s", timer) |
|||
c.Start() |
|||
select {} |
|||
} |
|||
|
|||
func timer() { |
|||
log.Println("每5s执行一次") |
|||
} |
Loading…
Reference in new issue