说明

定时任务是集成的github.com/robfig/cron,本文介绍如何优美的使用定时任务。

示例

我们将定时任务放在一个单独的task模块里

  • demo.go

    1. package task
    2. import "fmt"
    3. type DemoJob struct {
    4. }
    5. // 继承cron.Job接口
    6. func (job DemoJob) Run() {
    7. fmt.Println("task is running..")
    8. }
  • 加载定时任务

    1. package task
    2. fucn Loader(task *cron.Cron) {
    3. // 使用cron.Job,推荐
    4. _ = task.AddJob("*/5 * * * * ?", new(Demo))
    5. // 使用func
    6. _ = task.AddFunc("*/5 * * * * ?", func() {
    7. fmt.Println(123)
    8. })
    9. }

最后在main函数里调用一下Load方法

  1. func main() {
  2. //...
  3. app := ego.App()
  4. app.LoadTask(task.Loader)
  5. app.StartCron()
  6. app.Run()
  7. }