请教个cron t.Close()问题

1. 运行环境

gin-vue-admin

2. 问题描述?

目前在写定时任务,我写的是

    _, err := t.AddTaskByFunc("GetDailyInformation", "@every 5s", func() {
        // 获取预警配置列表
        list, _ := xxx//查询
        if len(list) > 0 {
            for _, config := range list {
                // 对每个元素执行操作
                fmt.Println(config.ID)
                // 接口地址

                // 参数

                // 请求接口

                // 入库

                // 日志
                // global.GVA_LOG.Error("编辑失败!", zap.Error(err))

            }
        }
    })

为了测试定时任务,我写的频率为每5s执行一次,正常情况是每5s会打印ID的,xxx查询方法隐藏了,这些都没问题,后续我看到DEMO写的有

// t.StopTask("testFunc")

    // 也可以调用 t.FindCron() 获取cron原生对象,调用它的更多方法

    // t.Remove() 删除任务
    // t.Remove("testFunc", id)

    // t.Close() 释放资源
    // t.Close()

这几个方法,就想是不是应该加个t.Close()释放资源啊,要不现在这个是不是每编译一次就会新开个线程去执行这个定时任务。我就在定时任务的代码后加了个 t.Close(),但是编译后发现定时任务不执行了:astonished:,请问是我理解的有问题么,正确的应该怎么写

3. 您期望得到的结果?

定时任务正确执行

4. 您实际得到的结果?

定时任务没有被执行

最佳答案

你都把定时器释放关闭了,它的生命周期已经结束了。

11个月前 评论
讨论数量: 1

你都把定时器释放关闭了,它的生命周期已经结束了。

11个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!