Implement worker status
This commit is contained in:
parent
cf000931e4
commit
0be5af70c3
5 changed files with 62 additions and 1 deletions
|
@ -2,7 +2,10 @@ package server
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"git.lastassault.de/speatzle/morffix/types"
|
||||
)
|
||||
|
||||
func handleIndex(w http.ResponseWriter, r *http.Request) {
|
||||
|
@ -11,7 +14,20 @@ func handleIndex(w http.ResponseWriter, r *http.Request) {
|
|||
WorkersMutex.Lock()
|
||||
defer WorkersMutex.Unlock()
|
||||
for i := range Workers {
|
||||
data = data + fmt.Sprintf("ID: %v, Name: %v, Address: %v Connected %v\n", i, Workers[i].Name, Workers[i].Address, Workers[i].Connected)
|
||||
if Workers[i].Connected {
|
||||
var status types.WorkerStatus
|
||||
_, err := rpcServer.Call(r.Context(), Workers[i].Conn, "status", nil, &status)
|
||||
if err != nil {
|
||||
w.Write([]byte(err.Error()))
|
||||
slog.ErrorContext(r.Context(), "Error Getting Worker Status", "err", err)
|
||||
return
|
||||
}
|
||||
slog.InfoContext(r.Context(), "Got Worker Status", "id", i, "status", status)
|
||||
data = data + fmt.Sprintf("ID: %v, Name: %v, Address: %v Connected %v\n", i, Workers[i].Name, Workers[i].Address, Workers[i].Connected)
|
||||
data = data + fmt.Sprintf("### CPU Cores: %v, CPU Usage: %v, Memory Total: %v Memory Usage %v\n", status.CPUCount, status.CPUUsage, status.MemoryTotal, status.MemoryUsage)
|
||||
} else {
|
||||
data = data + fmt.Sprintf("ID: %v, Name: %v, Address: %v Connected %v\n", i, Workers[i].Name, Workers[i].Address, Workers[i].Connected)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue