This commit is contained in:
Joe
2026-01-16 15:49:34 +08:00
commit 550d3e1f42
380 changed files with 62024 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
package console
import (
"github.com/goravel/framework/contracts/console"
"github.com/goravel/framework/contracts/schedule"
"github.com/goravel/framework/facades"
"goravel/app/console/commands"
)
type Kernel struct {
}
func (kernel *Kernel) Schedule() []schedule.Event {
return []schedule.Event{
// 每天凌晨2点执行(北京时间),清理6个月前的日志
// 北京时间 02:00 = UTC 18:00(前一天)
facades.Schedule().Command("app:clear-logs").DailyAt("18:00").OnOneServer(),
// 每天凌晨3点执行(北京时间),清理3天前的分片文件
// 北京时间 03:00 = UTC 19:00(前一天)
facades.Schedule().Command("app:clear-chunks").DailyAt("19:00").OnOneServer(),
// 每天凌晨3点30分执行(UTC 19:30 / 北京时间 03:30), 分析表(更新统计信息)
facades.Schedule().Command("db:analyze-stats").DailyAt("19:30").OnOneServer(),
// 每月1号凌晨1点执行(UTC时间),创建下个月的订单分表
facades.Schedule().Command("order:create-sharding-tables").Monthly().OnOneServer(),
// 每月1号凌晨1点30分执行(UTC时间),创建下个月的支付记录分表
facades.Schedule().Command("payment:create-sharding-tables").Monthly().OnOneServer(),
}
}
func (kernel *Kernel) Commands() []console.Command {
return []console.Command{
&commands.ClearLogs{},
&commands.ClearChunks{},
&commands.CreateToken{},
&commands.QueueStats{},
&commands.QueueClear{},
&commands.QueuePeek{},
commands.NewCreateOrderShardingTables(),
commands.NewCreatePaymentShardingTables(),
&commands.GenerateTestOrders{},
&commands.GenerateTestPayments{},
&commands.AnalyzeStats{},
&commands.OptimizeTables{},
}
}