package server import ( "fmt" "log/slog" "net/http" "strconv" ) func HandleSetParallelTasks(w http.ResponseWriter, r *http.Request) { err := r.ParseForm() if err != nil { http.Error(w, fmt.Sprintf("Parseing Form: %v", err), http.StatusBadRequest) return } parallelTasks, err := strconv.Atoi(r.FormValue("parallel_tasks")) if err != nil { http.Error(w, "Can't parse parallel_tasks: "+err.Error(), http.StatusBadRequest) return } worker := r.FormValue("worker") slog.Info("Got set Parallel Tasks", "parallel_tasks", parallelTasks, "worker", worker) if worker == "all" { _, err = db.Exec(r.Context(), "UPDATE workers SET parallel_tasks = $1", parallelTasks) if err != nil { http.Error(w, fmt.Sprintf("Setting Worker Parallel Tasks: %v", err), http.StatusInternalServerError) return } } else { _, err = db.Exec(r.Context(), "UPDATE workers SET parallel_tasks = $1 where id = $2", parallelTasks, worker) if err != nil { http.Error(w, fmt.Sprintf("Setting Worker Parallel Tasks: %v", err), http.StatusInternalServerError) return } } http.Redirect(w, r, r.Header.Get("Referer"), http.StatusFound) }