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.
51 lines
1.5 KiB
51 lines
1.5 KiB
package model |
|
|
|
import ( |
|
"fmt" |
|
"time" |
|
) |
|
|
|
type ProcStat struct { |
|
Cloud2Local *CompareProcStat `json:"cloud_2_local"` |
|
Local2Cloud *CompareProcStat `json:"local_2_cloud"` |
|
} |
|
|
|
// CompareProcStat status of compare proc. |
|
type CompareProcStat struct { |
|
StartTime string `json:"start_time"` |
|
EndTime string `json:"end_time"` |
|
StepDuration JsonDuration `json:"step_duration"` |
|
LoopDuration JsonDuration `json:"loop_duration"` |
|
DelayDuration JsonDuration `json:"delay_duration"` |
|
|
|
BatchSize int `json:"batch_size"` |
|
BatchMissRetryCount int `json:"batch_miss_retry_count"` |
|
|
|
Debug bool `json:"debug"` |
|
Fix bool `json:"fix"` |
|
|
|
CurrentRangeStart JSONTime `json:"current_range_start"` |
|
CurrentRangeEnd JSONTime `json:"current_range_end"` |
|
CurrentRangeRecordsCount int `json:"current_range_records_count"` |
|
TotalRangeRecordsCount int `json:"total_range_records_count"` |
|
DiffCount int `json:"diff_count"` |
|
|
|
Sleeping bool `json:"sleeping"` |
|
SleepFrom string `json:"sleep_from,omitempty"` |
|
SleepSeconds int64 `json:"sleep_seconds,omitempty"` |
|
SleepRemainSeconds int64 `json:"sleep_remain_seconds,omitempty"` |
|
} |
|
|
|
type JSONTime time.Time |
|
|
|
func (t JSONTime) MarshalJSON() ([]byte, error) { |
|
s := fmt.Sprintf(`"%s"`, time.Time(t).Format("2006-01-02 15:04:05")) |
|
return []byte(s), nil |
|
} |
|
|
|
type JsonDuration time.Duration |
|
|
|
func (t JsonDuration) MarshalJSON() ([]byte, error) { |
|
s := fmt.Sprintf(`"%v"`, time.Duration(t)) |
|
return []byte(s), nil |
|
}
|
|
|