定时任务
XYGo Admin 2025-02-20 64 次阅读
Cron 定时任务的配置、开发与管理
定时任务
功能概览
- 可视化管理定时任务(增删改查)
- 支持 Cron 表达式配置执行周期
- 在线执行(手动触发一次)
- 执行日志记录与查询
- 任务分组管理
任务注册
在 internal/crons/ 目录下注册任务:
go
// internal/crons/example.go
package crons
import (
"context"
"xygo/internal/library/cron"
)
func init() {
cron.Register("example_task", func(ctx context.Context) error {
// 你的任务逻辑
g.Log().Info(ctx, "定时任务执行中...")
return nil
})
}
后台管理
在后台「系统管理 → 定时任务」中:
- 新增任务:选择已注册的任务标识,配置 Cron 表达式
- 启用/禁用:控制任务是否参与调度
- 在线执行:手动触发一次,立即执行
- 执行日志:查看每次执行的结果和耗时
Cron 表达式
┌──────────── 秒 (0-59)
│ ┌────────── 分 (0-59)
│ │ ┌──────── 时 (0-23)
│ │ │ ┌────── 日 (1-31)
│ │ │ │ ┌──── 月 (1-12)
│ │ │ │ │ ┌── 周 (0-6, 0=周日)
│ │ │ │ │ │
* * * * * *
常用示例:
| 表达式 | 说明 |
|---|---|
0 */5 * * * * |
每 5 分钟 |
0 0 2 * * * |
每天凌晨 2 点 |
0 0 0 1 * * |
每月 1 号零点 |
0 30 9 * * 1-5 |
工作日 9:30 |
任务分组
支持将任务按业务分组管理,方便查找和维护。