package app import ( "fmt" "github.com/seaweedfs/seaweedfs/weed/admin/dash" "time" ) templ MaintenanceWorkers(data *dash.MaintenanceWorkersData) {

Maintenance Workers

Monitor and manage maintenance workers

Last updated: { data.LastUpdated.Format("2006-01-02 15:04:05") }
Total Workers
{ fmt.Sprintf("%d", len(data.Workers)) }
Active Workers
{ fmt.Sprintf("%d", data.ActiveWorkers) }
Busy Workers
{ fmt.Sprintf("%d", data.BusyWorkers) }
Total Load
{ fmt.Sprintf("%d", data.TotalLoad) }
Worker Details
if len(data.Workers) == 0 {
No Workers Found

No maintenance workers are currently registered.

💡 Tip: To start a worker, run:
weed worker -admin=<admin_server> -capabilities=vacuum,ec,replication
} else {
for _, worker := range data.Workers { }
Worker ID Address Status Capabilities Load Current Tasks Performance Last Heartbeat Actions
{ worker.Worker.ID } { worker.Worker.Address } if worker.Worker.Status == "active" { Active } else if worker.Worker.Status == "busy" { Busy } else { Inactive }
for _, capability := range worker.Worker.Capabilities { { string(capability) } }
if worker.Worker.MaxConcurrent > 0 {
{ fmt.Sprintf("%d/%d", worker.Worker.CurrentLoad, worker.Worker.MaxConcurrent) }
} else {
0/0
}
{ fmt.Sprintf("%d", len(worker.CurrentTasks)) }
✅ { fmt.Sprintf("%d", worker.Performance.TasksCompleted) }
❌ { fmt.Sprintf("%d", worker.Performance.TasksFailed) }
📊 { fmt.Sprintf("%.1f%%", worker.Performance.SuccessRate) }
if time.Since(worker.Worker.LastHeartbeat) < 2*time.Minute { { worker.Worker.LastHeartbeat.Format("15:04:05") } } else { { worker.Worker.LastHeartbeat.Format("15:04:05") } }
if worker.Worker.Status == "active" { }
}
}