35 lines
852 B
Go
35 lines
852 B
Go
package crons
|
|
|
|
import (
|
|
"context"
|
|
"strconv"
|
|
|
|
"hotgo/internal/library/cron"
|
|
"hotgo/internal/service"
|
|
)
|
|
|
|
func init() {
|
|
cron.Register(DashboardDailySummary)
|
|
}
|
|
|
|
var DashboardDailySummary = &cDashboardDailySummary{name: "dashboard_daily_summary"}
|
|
|
|
type cDashboardDailySummary struct{ name string }
|
|
|
|
func (c *cDashboardDailySummary) GetName() string { return c.name }
|
|
|
|
func (c *cDashboardDailySummary) Execute(ctx context.Context, parser *cron.Parser) error {
|
|
days := 2
|
|
if len(parser.Args) > 0 {
|
|
if value, err := strconv.Atoi(parser.Args[0]); err == nil {
|
|
days = value
|
|
}
|
|
}
|
|
if err := service.SysDashboard().RefreshDaily(ctx, days); err != nil {
|
|
parser.Logger.Warningf(ctx, "dashboard daily summary failed days:%d err:%+v", days, err)
|
|
return err
|
|
}
|
|
parser.Logger.Infof(ctx, "dashboard daily summary completed days:%d", days)
|
|
return nil
|
|
}
|