You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.3 KiB
78 lines
2.3 KiB
package service |
|
|
|
import ( |
|
"context" |
|
"time" |
|
|
|
"go-common/app/job/main/passport-game-data/model" |
|
) |
|
|
|
// CompareProcStat get actual compare proc stat. |
|
func (s *Service) CompareProcStat(c context.Context) *model.ProcStat { |
|
var c2lStat *model.CompareProcStat |
|
if s.c.Compare.Cloud2Local.On { |
|
cc := s.c2lC |
|
c2lStat = &model.CompareProcStat{ |
|
StartTime: s.c.Compare.Cloud2Local.StartTime, |
|
EndTime: s.c.Compare.Cloud2Local.EndTime, |
|
StepDuration: model.JsonDuration(cc.StepDuration), |
|
LoopDuration: model.JsonDuration(cc.LoopDuration), |
|
DelayDuration: model.JsonDuration(cc.DelayDuration), |
|
|
|
BatchSize: cc.BatchSize, |
|
BatchMissRetryCount: cc.BatchMissRetryCount, |
|
|
|
Debug: cc.Debug, |
|
Fix: cc.Fix, |
|
|
|
CurrentRangeStart: model.JSONTime(cc.st), |
|
CurrentRangeEnd: model.JSONTime(cc.ed), |
|
CurrentRangeRecordsCount: cc.rangeCount, |
|
TotalRangeRecordsCount: cc.totalCount, |
|
DiffCount: cc.diffCount, |
|
|
|
Sleeping: cc.sleeping, |
|
} |
|
if cc.sleeping { |
|
c2lStat.SleepSeconds = cc.sleepingSeconds |
|
c2lStat.SleepFrom = time.Unix(cc.sleepFromTs, 0).Format(_timeFormat) |
|
c2lStat.SleepRemainSeconds = cc.sleepingSeconds - (time.Now().Unix() - cc.sleepFromTs) |
|
} |
|
} |
|
|
|
var l2cStat *model.CompareProcStat |
|
if s.c.Compare.Local2Cloud.On { |
|
cc := s.l2cC |
|
l2cStat = &model.CompareProcStat{ |
|
StartTime: s.c.Compare.Local2Cloud.StartTime, |
|
EndTime: s.c.Compare.Local2Cloud.EndTime, |
|
StepDuration: model.JsonDuration(cc.StepDuration), |
|
LoopDuration: model.JsonDuration(cc.LoopDuration), |
|
DelayDuration: model.JsonDuration(cc.DelayDuration), |
|
|
|
BatchSize: cc.BatchSize, |
|
BatchMissRetryCount: cc.BatchMissRetryCount, |
|
|
|
Debug: cc.Debug, |
|
Fix: cc.Fix, |
|
|
|
CurrentRangeStart: model.JSONTime(cc.st), |
|
CurrentRangeEnd: model.JSONTime(cc.ed), |
|
CurrentRangeRecordsCount: cc.rangeCount, |
|
TotalRangeRecordsCount: cc.totalCount, |
|
DiffCount: cc.diffCount, |
|
|
|
Sleeping: cc.sleeping, |
|
} |
|
if cc.sleeping { |
|
l2cStat.SleepSeconds = cc.sleepingSeconds |
|
l2cStat.SleepFrom = time.Unix(cc.sleepFromTs, 0).Format(_timeFormat) |
|
l2cStat.SleepRemainSeconds = cc.sleepingSeconds - (time.Now().Unix() - cc.sleepFromTs) |
|
} |
|
} |
|
|
|
return &model.ProcStat{ |
|
Cloud2Local: c2lStat, |
|
Local2Cloud: l2cStat, |
|
} |
|
}
|
|
|