企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# task 玩过 linux 的用户都知道有一个计划任务的工具 crontab,我们经常利用该工具来定时的做一些任务,但是有些时候我们的进程内也希望定时的来处理一些事情,例如定时的汇报当前进程的内存信息,goroutine 信息等。或者定时的进行手工触发 GC,或者定时的清理一些日志数据等,所以实现了秒级别的定时任务,首先让我们看看如何使用: 1. 初始化一个任务 ~~~ tk1 := toolbox.NewTask("tk1", "0 12 * * * *", func() error { fmt.Println("tk1"); return nil }) ~~~ 函数原型: NewTask(tname string, spec string, f TaskFunc) \*Task * tname 任务名称 * spec 定时任务格式,请参考下面的详细介绍 * f 执行的函数 func() error 2. 可以测试开启运行 可以通过如下的代码运行 TaskFunc,和 spec 无关,用于检测写的函数是否如预期所希望的这样: ~~~ err := tk.Run() if err != nil { t.Fatal(err) } ~~~ 3. 加入全局的计划任务列表 ~~~ toolbox.AddTask("tk1", tk1) ~~~ 4. 开始执行全局的任务 ~~~ toolbox.StartTask() defer toolbox.StopTask() ~~~