diff --git a/backend/go-app/main.go b/backend/go-app/main.go index 7bd0f90b..40904bc3 100644 --- a/backend/go-app/main.go +++ b/backend/go-app/main.go @@ -3846,7 +3846,7 @@ func runInitEs(ctx context.Context) { //} } else { - log.Printf("[DEBUG] There are %d org(s).", len(activeOrgs)) + log.Printf("[DEBUG] Found %d org(s) in total.", len(activeOrgs)) if len(activeOrgs) == 1 { if len(activeOrgs[0].Users) == 0 { diff --git a/backend/go-app/walkoff.go b/backend/go-app/walkoff.go index b72fcce9..2475e57a 100644 --- a/backend/go-app/walkoff.go +++ b/backend/go-app/walkoff.go @@ -569,7 +569,7 @@ func handleGetWorkflowqueueConfirm(resp http.ResponseWriter, request *http.Reque // FIXME: Add authentication? id := request.Header.Get("Org-Id") if len(id) == 0 { - log.Printf("No Org-Id header set - confirm") + log.Printf("[ERROR] No Org-Id header set - confirm") resp.WriteHeader(401) resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "Specify the org-id header."}`))) return @@ -579,7 +579,7 @@ func handleGetWorkflowqueueConfirm(resp http.ResponseWriter, request *http.Reque ctx := context.Background() executionRequests, err := shuffle.GetWorkflowQueue(ctx, id) if err != nil { - log.Printf("(1) Failed reading body for workflowqueue: %s", err) + log.Printf("[WARNING] (1) Failed reading body for workflowqueue: %s", err) resp.WriteHeader(401) resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "Entity parsing error - confirm"}`))) return @@ -676,6 +676,19 @@ func handleGetWorkflowqueue(resp http.ResponseWriter, request *http.Request) { } ctx := context.Background() + env, err := shuffle.GetEnvironment(ctx, id, "") + timeNow := time.Now().Unix() + if err == nil && len(env.Id) > 0 && len(env.Name) > 0 { + if time.Now().Unix() > env.Edited+60 { + env.RunningIp = request.RemoteAddr + env.Checkin = timeNow + err = shuffle.SetEnvironment(ctx, env) + if err != nil { + log.Printf("[WARNING] Failed updating environment: %s", err) + } + } + } + executionRequests, err := shuffle.GetWorkflowQueue(ctx, id) if err != nil { // Skipping as this comes up over and over @@ -685,11 +698,48 @@ func handleGetWorkflowqueue(resp http.ResponseWriter, request *http.Request) { return } + // Checking and updating the environment related to the first execution if len(executionRequests.Data) == 0 { executionRequests.Data = []shuffle.ExecutionRequest{} } else { - //log.Printf("[INFO] Executionrequests (%s): %d", id, len(executionRequests.Data)) - //log.Printf("IDS: %#v", executionRequests.Data[0].ExecutionId) + //log.Printf("In workflowqueue with %d", len(executionRequests.Data)) + + // Try again :) + if len(env.Id) == 0 && len(env.Name) == 0 { + orgId := "" + for _, requestData := range executionRequests.Data { + execution, err := shuffle.GetWorkflowExecution(ctx, requestData.ExecutionId) + if err == nil { + if len(execution.ExecutionOrg) > 0 { + orgId = execution.ExecutionOrg + break + } + } + } + + if len(orgId) > 0 { + env, err := shuffle.GetEnvironment(ctx, id, orgId) + if err != nil { + log.Printf("[WARNING] No env found matching %s - continuing without updating orborus anyway: %s", id, err) + //resp.WriteHeader(401) + //resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "No env found matching %s"}`, id))) + //return + } else { + if timeNow > env.Edited+60 { + env.RunningIp = request.RemoteAddr + env.Checkin = timeNow + err = shuffle.SetEnvironment(ctx, env) + if err != nil { + log.Printf("[WARNING] Failed updating environment: %s", err) + } + } + } + } + } + + if len(executionRequests.Data) > 10 { + executionRequests.Data = executionRequests.Data[0:9] + } } newjson, err := json.Marshal(executionRequests) diff --git a/frontend/src/views/Admin.jsx b/frontend/src/views/Admin.jsx index 24bcef4d..1888e374 100644 --- a/frontend/src/views/Admin.jsx +++ b/frontend/src/views/Admin.jsx @@ -2717,7 +2717,7 @@ const Admin = (props) => { style={{minWidth: 150, maxWidth: 150}} /> { primary="Archived" style={{minWidth: 150, maxWidth: 150}} /> + {environments === undefined || environments === null ? null : environments.map((environment, index)=> { if (!showArchived && environment.archived) { @@ -2747,19 +2751,19 @@ const Admin = (props) => { return null } - //var bgColor = "#27292d" - //if (index % 2 === 0) { - // bgColor = "#1f2023" - //} + var bgColor = "#27292d" + if (index % 2 === 0) { + bgColor = "#1f2023" + } return ( - + { style={{minWidth: 150, maxWidth: 150, overflow: "hidden"}} primary={environment.archived.toString()} /> + ) })} @@ -2907,7 +2915,7 @@ const Admin = (props) => { style={{minWidth: 150, maxWidth: 150}} /> {