beego的模块篇 - task任务

发布时间:2024年01月20日

利用该工具来定时的做一些任务,但是有些时候我们的进程内也希望定时的来处理一些事情,可以使用crontab。

1 任务计划

1.1 初始化一个任务

tk1 := task.NewTask("tk1", "0 12 * * * *", func(ctx context.Context) error { fmt.Println("tk1"); return nil })

函数原型:

NewTask(tname string, spec string, f TaskFunc) *Task

  • tname 任务名称
  • spec 定时任务格式
  • f 执行的函数 func() error

1.2 加入全局的计划任务列表

task.AddTask("tk1", tk1)

1.3?开始执行全局的任务

task.StartTask()
 defer task.StopTask()

2 完整任务代码

在启动程序开启任务

func main() {
	task.StartTask()
	defer task.StopTask()
	beego.Run()
}

在需要添加任务的地方添加cron任务,这里是一个测试任务打印字符串。

	tk1 := task.NewTask("tk1", "0 * * * * *", func(ctx context.Context) error { fmt.Println("tk1"); return nil })
	task.AddTask("tk1", tk1)

打印信息 :

tk1
tk1

文章来源:https://blog.csdn.net/liu289747235/article/details/135708300
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。