package app import ( "fmt" "sort" "github.com/seaweedfs/seaweedfs/weed/admin/maintenance" "github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding" ) // sortedKeys returns the sorted keys for a string map func sortedKeys(m map[string]string) []string { keys := make([]string, 0, len(m)) for k := range m { keys = append(keys, k) } sort.Strings(keys) return keys } templ TaskDetail(data *maintenance.TaskDetailData) {
{data.Task.ID}{data.Task.WorkerID}{data.Task.DetailedReason}
{data.Task.Error}
                                    {source.Node}
                                    {target.Node}
                                    {data.WorkerInfo.ID}{data.WorkerInfo.Address}| Worker ID | Worker Address | Assigned At | Unassigned At | Reason | 
|---|---|---|---|---|
| {assignment.WorkerID} | {assignment.WorkerAddress} | {assignment.AssignedAt.Format("2006-01-02 15:04:05")} | if assignment.UnassignedAt != nil { {assignment.UnassignedAt.Format("2006-01-02 15:04:05")} } else { — } | {assignment.Reason} | 
| Timestamp | Level | Message | Details | 
|---|---|---|---|
| {log.Timestamp.Format("15:04:05")} | if log.Level == "error" { {log.Level} } else if log.Level == "warn" { {log.Level} } else if log.Level == "info" { {log.Level} } else { {log.Level} } | {log.Message} | if log.Fields != nil && len(log.Fields) > 0 { for _, k := range sortedKeys(log.Fields) { {k}={log.Fields[k]} } } else if log.Progress != nil || log.Status != "" { if log.Progress != nil { progress={fmt.Sprintf("%.0f%%", *log.Progress)} } if log.Status != "" { status={log.Status} } } else { - } | 
| Task ID | Type | Status | Volume ID | Server | Created | 
|---|---|---|---|---|---|
| {relatedTask.ID} | {string(relatedTask.Type)} | if relatedTask.Status == maintenance.TaskStatusCompleted { Completed } else if relatedTask.Status == maintenance.TaskStatusFailed { Failed } else if relatedTask.Status == maintenance.TaskStatusInProgress { In Progress } else { {string(relatedTask.Status)} } | if relatedTask.VolumeID != 0 { {fmt.Sprintf("%d", relatedTask.VolumeID)} } else { - } | if relatedTask.Server != "" { {relatedTask.Server}} else {
                                                        -
                                                    } | {relatedTask.CreatedAt.Format("2006-01-02 15:04:05")} |