diff --git a/docs/en/seatunnel-engine/rest-api-v2.md b/docs/en/seatunnel-engine/rest-api-v2.md index 5f62c23c951..edaa8721aed 100644 --- a/docs/en/seatunnel-engine/rest-api-v2.md +++ b/docs/en/seatunnel-engine/rest-api-v2.md @@ -60,6 +60,7 @@ Please refer [security](security.md) "unassignedSlot":"0", "works":"1", "runningJobs":"0", + "pendingJobs":"0", "finishedJobs":"0", "failedJobs":"0", "cancelledJobs":"0" diff --git a/docs/zh/seatunnel-engine/rest-api-v2.md b/docs/zh/seatunnel-engine/rest-api-v2.md index dccce2640b5..97c7c6406c1 100644 --- a/docs/zh/seatunnel-engine/rest-api-v2.md +++ b/docs/zh/seatunnel-engine/rest-api-v2.md @@ -58,6 +58,7 @@ seatunnel: "unassignedSlot":"0", "works":"1", "runningJobs":"0", + "pendingJobs":"0", "finishedJobs":"0", "failedJobs":"0", "cancelledJobs":"0" diff --git a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java index 8c4c606d481..f0b8bf49772 100644 --- a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java +++ b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java @@ -667,7 +667,8 @@ public void testOverview() { .statusCode(200) .body("projectVersion", notNullValue()) .body("totalSlot", equalTo("40")) - .body("workers", equalTo("2")); + .body("workers", equalTo("2")) + .body("pendingJobs", notNullValue()); given().get( HOST + value @@ -680,7 +681,8 @@ public void testOverview() { .statusCode(200) .body("projectVersion", notNullValue()) .body("totalSlot", equalTo("40")) - .body("workers", equalTo("2")); + .body("workers", equalTo("2")) + .body("pendingJobs", notNullValue()); }); }); } diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java index f5af2a7420e..505517f6c79 100644 --- a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java +++ b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java @@ -1074,6 +1074,10 @@ public ConnectorPackageService getConnectorPackageService() { return connectorPackageService; } + public int getPendingJobCount() { + return pendingJobQueue.getJobIdMap().size(); + } + @VisibleForTesting protected IMap> getMetricsImap() { return metricsImap; diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/GetOverviewOperation.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/GetOverviewOperation.java index 280e0ccdfc8..ba03b958a40 100644 --- a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/GetOverviewOperation.java +++ b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/GetOverviewOperation.java @@ -115,6 +115,7 @@ public static OverviewInfo getOverviewInfo( .name() .equals(JobStatus.FINISHED.toString())) .count()); + overviewInfo.setPendingJobs(server.getCoordinatorService().getPendingJobCount()); return overviewInfo; } diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/resource/OverviewInfo.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/resource/OverviewInfo.java index 50479443231..511aa212de7 100644 --- a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/resource/OverviewInfo.java +++ b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/resource/OverviewInfo.java @@ -30,6 +30,7 @@ public class OverviewInfo implements Serializable { private long runningJobs; private long finishedJobs; private long failedJobs; + private long pendingJobs; private long cancelledJobs; private int workers; }