ProcessWorkspaceResource ======================== Introduction ------------ Process Workspace Resource. Hosts the API used to monitor and control process workspaces (runs of processor and other launcher operations), including status updates, payload, runtime summaries, queue status, and project/subscription computing-time metrics. All endpoints are under base path ``/process``. All endpoints require ``x-session-token``. Status model notes: - Common process states: ``CREATED``, ``RUNNING``, ``WAITING``, ``READY``, ``DONE``, ``ERROR``, ``STOPPED``. - Many read endpoints return empty lists/default view models on invalid session or permission failures instead of HTTP error responses. Common Models ------------- - ProcessWorkspaceViewModel: productName, operationType, operationSubType, operationDate, operationStartDate, operationEndDate, lastChangeDate, userId, fileSize, status, progressPerc, processObjId, pid, payload, workspaceId - ProcessWorkspaceSummaryViewModel: userProcessWaiting, userProcessRunning, allProcessWaiting, allProcessRunning - ProcessHistoryViewModel: processorName, operationDate, operationStartDate, operationEndDate, status, workspaceName, workspaceId - AppStatsViewModel: applicationName, runs, error, done, stopped, mediumTime, uniqueUsers - ComputingTimeViewModel: subscriptionId, projectId, userId, computingTime - ProcessWorkspaceAggregatedViewModel: schedulerName, operationType, operationSubType, procCreated, procRunning, procWaiting, procReady - NodeScoreByProcessWorkspaceViewModel: nodeCode, numberOfProcesses, disk/memory usage details, licenses, timestampAsString APIs ---- GET /process/byws ^^^^^^^^^^^^^^^^^ - Description: Returns process workspaces for one workspace, with optional filters (status, operation type, name pattern, date range) and optional index pagination. - Query params: workspace (required), status, operationType, namePattern, dateFrom, dateTo, startindex, endindex - Success: 200 OK, body: array of ProcessWorkspaceViewModel - Notes: invalid filters are ignored; invalid session/permissions return empty list. GET /process/byusr ^^^^^^^^^^^^^^^^^^ - Description: Returns process workspaces for the authenticated user. - Query params: ogc (optional boolean; when true, returns OGC processes only) - Success: 200 OK, body: array of ProcessWorkspaceViewModel GET /process/byapp ^^^^^^^^^^^^^^^^^^ - Description: Returns process history entries for one processor name and user, merged from main and active compute nodes when called on main node. - Query params: processorName (required) - Success: 200 OK, body: array of ProcessHistoryViewModel GET /process/appstats ^^^^^^^^^^^^^^^^^^^^^ - Description: Returns aggregated run statistics for one processor name; main node merges stats from compute nodes. - Query params: processorName (required) - Success: 200 OK, body: AppStatsViewModel GET /process/lastbyws ^^^^^^^^^^^^^^^^^^^^^ - Description: Returns the latest process workspaces for one workspace (repository-side fixed limit). - Query params: workspace (required) - Success: 200 OK, body: array of ProcessWorkspaceViewModel GET /process/lastbyusr ^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns the latest process workspaces for current user (repository-side fixed limit). - Success: 200 OK, body: array of ProcessWorkspaceViewModel GET /process/summary ^^^^^^^^^^^^^^^^^^^^ - Description: Returns quick counters of waiting/running processes for current user and totals (optionally workspace-filtered). - Query params: workspace (optional) - Success: 200 OK, body: ProcessWorkspaceSummaryViewModel GET /process/delete ^^^^^^^^^^^^^^^^^^^ - Description: Stops/kills a process workspace (optionally the entire tree) through ProcessWorkspaceService. - Query params: procws (required), treeKill (optional boolean) - Success: 200 OK - Return codes: 200, 401, 403, 400, 500 GET /process/byid ^^^^^^^^^^^^^^^^^ - Description: Returns one process workspace by process object id. - Query params: procws (required) - Success: 200 OK, body: ProcessWorkspaceViewModel - Notes: on invalid/forbidden/error returns default model with status preset to ``ERROR``. POST /process/statusbyid ^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Batch status lookup for multiple process ids. - Body: array of process workspace ids - Success: 200 OK, body: array of statuses (same index order as input) - Notes: invalid/unreachable ids are replaced with ``ERROR`` in output. GET /process/getstatusbyid ^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns status string for one process id. - Query params: procws (required) - Success: 200 OK, body: status string - Notes: returns ``ERROR`` for invalid session, forbidden access, invalid id, or internal errors. GET /process/updatebyid ^^^^^^^^^^^^^^^^^^^^^^^ - Description: Updates process status and optionally progress percentage; can optionally notify RabbitMQ. - Query params: procws (required), status (required), perc (int), sendrabbit (optional: ``1`` or ``true``) - Success: 200 OK, body: updated ProcessWorkspaceViewModel GET /process/setpayload ^^^^^^^^^^^^^^^^^^^^^^^ - Description: Sets payload for a process workspace (GET variant). - Query params: procws (required), payload - Success: 200 OK, body: updated ProcessWorkspaceViewModel POST /process/setpayload ^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Sets payload for a process workspace (POST variant). - Query params: procws (required) - Body: payload string - Success: 200 OK, body: updated ProcessWorkspaceViewModel GET /process/setsubpid ^^^^^^^^^^^^^^^^^^^^^^ - Description: Sets subprocess PID for a process workspace. - Query params: procws (required), subpid (required int) - Success: 200 OK, body: updated ProcessWorkspaceViewModel GET /process/payload ^^^^^^^^^^^^^^^^^^^^ - Description: Gets payload string of a process workspace. - Query params: procws (required) - Success: 200 OK, body: payload string - Notes: returns null when unauthorized/invalid/error. GET /process/runningTime/UI ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns running time (ms) for a target user in a date interval; admin can query other users, non-admin only self. - Query params: userId (required), dateFrom, dateTo - Success: 200 OK, body: long - Notes: main node merges running time from compute nodes. GET /process/runningTime/SP ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns nested map of running time by subscription and project for subscriptions associated with current user. - Success: 200 OK, body: map> - Notes: main node merges per-node results. GET /process/runningtimeproject ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns overall project computing time (all users) for projects in subscriptions associated with current user. - Success: 200 OK, body: array of ComputingTimeViewModel - Return codes: 200, 401, 500 GET /process/runningtimeproject/byuser ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns computing time for current user only, grouped by subscription/project. - Success: 200 OK, body: array of ComputingTimeViewModel - Return codes: 200, 401, 500 GET /process/paramsbyid ^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns stored JSON parameters for a process workspace when underlying parameter record is a ProcessorParameter. - Query params: procws (required) - Success: 200 OK, body: JSON string - Return codes: 200, 401, 403, 400, 500 GET /process/queuesStatus ^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns scheduler queue aggregation by operation type/subtype and status counts, for local or remote node. - Query params: nodeCode (optional), statuses (optional comma-separated statuses) - Success: 200 OK, body: array of ProcessWorkspaceAggregatedViewModel GET /process/nodesByScore ^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Returns nodes sorted by process workspace score/resource pressure. - Success: 200 OK, body: array of NodeScoreByProcessWorkspaceViewModel - Notes: admin-only; non-admin gets empty list.