基本介绍

gcron 模块提供了对定时任务的实现,支持类似 crontab 的配置管理方式,并支持最小粒度到 的定时任务管理。

使用方式

  1. import "github.com/gogf/gf/v2/os/gcron"

接口文档

https://pkg.go.dev/github.com/gogf/gf/v2/os/gcron

简要说明:

  1. New 方法用于创建自定义的定时任务管理对象。
  2. Add 方法用于添加定时任务,其中:
    • - pattern 参数使用 CRON语法格式(具体说明见本章后续相关说明)。
    • - job 参数为需要执行的任务方法(方法地址)。
    • - name 为非必需参数,用于给定时任务指定一个 唯一的 名称,注意如果已存在相同名称的任务,那么添加定时任务将会失败。
  3. AddSingleton 方法用于添加单例定时任务,即同时只能有一个该任务正在运行(在内存中进行去重判断)。
  4. AddOnce 方法用于添加只运行一次的定时任务,当运行一次数后该定时任务自动销毁。
  5. AddTimes 方法用于添加运行指定次数的定时任务,当运行 times 次数后该定时任务自动销毁。
  6. Entries 方法用于获取当前所有已注册的定时任务信息。
  7. Remove 方法用于根据名称删除定时任务(停止并删除)。
  8. Search 方法用于根据名称进行定时任务搜索(返回定时任务 *Entry 对象指针)。
  9. Start 方法用于启动定时任务( Add 后自动启动定时任务), 可通过 name 参数指定需要启动的任务名称。
  10. Stop 方法用于停止定时任务( Remove 会停止并删除), 可通过 name 参数指定需要停止的任务名称。
  11. Close 方法用于关闭自定义的定时任务管理对象。

注意事项

  • 进程全局时区的影响:由于定时任务严格依赖时间计算,因此进程的全局时区对定时任务执行影响比较大。在添加定时任务时,请注意当前进程的全局时区设置,在没有设置全局时区时,默认使用的是系统时区。关于时区设置更多信息请参考: 时间管理-时区设置

相关文档

📄️ 定时任务-表达式GoFrame框架中定时任务的cron表达式及其使用技巧。cron表达式由六个字段组成,可实现从秒到周的时间调度。讲解了特殊字符的意义及其在表达式中的应用,通过多种预定义格式和间隔配置,使任务调度更加灵活可靠。

📄️ 定时任务-基本使用在GoFrame框架中使用gcron来管理定时任务。你将学习如何添加、启动、停止、删除和搜索定时任务。此外,还涵盖了单例定时任务、单次定时任务以及运行指定次数的任务等高级功能。这些功能帮助开发者更高效地管理和调试应用内的定时任务,提高应用的性能和可靠性。

📄️ 定时任务-日志管理在GoFrame框架中的gcron组件中进行日志管理。gcron支持设置日志输出文件和级别,默认记录错误级别日志。通过GoFrame框架的日志组件,用户可以复用日志的所有特性。文章中提供了Go代码示例,展示了如何设置和使用gcron的日志功能。

📄️ 定时任务-gcron与gtimerGoFrame框架中定时任务模块gcron与定时器模块gtimer的区别。gtimer是高性能模块,适用于各种定时任务场景,包括TCP通信和游戏开发。gcron支持crontab语法,基于gtimer实现,为用户提供了便捷的定时任务管理方式。