| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package taskQueue
- import (
- "context"
- "fmt"
- "fwh-toolbox-server/domain"
- "fwh-toolbox-server/jobs"
- "fwh-toolbox-server/logger"
- "fwh-toolbox-server/repositories"
- "go.mongodb.org/mongo-driver/bson/primitive"
- "go.uber.org/zap"
- )
- var (
- TaskTypeShutdownStatistics = "task_ShutdownStatistics"
- )
- func handleTaskAlarmStatistics(ctx context.Context, payload domain.TaskShutdownStatistics) error {
- fmt.Printf("开始执行任务 %v\n", payload)
- err := executeTaskAlarmStatistics(ctx, payload)
- // 记录任务执行结果
- if err != nil {
- fmt.Printf("任务执行失败 %s\n", err.Error())
- } else {
- fmt.Println("任务执行成功")
- }
- return err
- }
- func analysisShutdownSite(sn string, date string) (*primitive.ObjectID, error) {
- writeConfig := domain.SiteAnalysisConfigWrite{
- Sn: sn,
- Description: fmt.Sprintf("Shutdown站点分析 %s", date),
- TimePeriod: [2]string{date, date},
- Options: domain.SiteAnalysisOptions{
- EnableTimeline: true,
- EnableRuntime: true,
- },
- }
- id, err := repositories.InsertSiteAnalysisConfig(writeConfig)
- if err != nil {
- return nil, err
- }
- EnqueueSiteAnalysisTask(domain.TaskSiteAnalysis{
- Id: id,
- Sn: writeConfig.Sn,
- TimePeriod: writeConfig.TimePeriod,
- Options: domain.SiteAnalysisOptions{
- EnableTimeline: writeConfig.Options.EnableTimeline,
- EnableRuntime: writeConfig.Options.EnableRuntime,
- },
- })
- return &id, nil
- }
- var executeTaskAlarmStatistics = func(ctx context.Context, payload domain.TaskShutdownStatistics) error {
- executeDate := payload.Date
- records, err := repositories.QuerySiteShutdownList(executeDate, 0) // 请求所有设备
- if err != nil {
- return err
- }
- // 分析告警统计数据,并将结果写入数据库
- fmt.Println("分析告警统计数据,并将结果写入数据库")
- err = jobs.StatisticsShutdown(executeDate, records, analysisShutdownSite)
- if err != nil {
- zap.L().Error("告警统计数据分析失败", zap.String("date", payload.Date))
- return err
- }
- return nil
- }
- func EnqueueShutdownStatisticsTask(payload domain.TaskShutdownStatistics) error {
- p := TaskPayload[domain.TaskShutdownStatistics]{
- TaskPayloadBase: TaskPayloadBase{
- Type: TaskTypeShutdownStatistics,
- },
- Payload: payload,
- }
- if err := EnqueueTask[domain.TaskShutdownStatistics](p); err != nil {
- logger.Std.Printf("EnqueueShutdownStatisticsTask - %s : %s\n", payload.Id, err.Error())
- return err
- }
- return nil
- }
|