aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-ce-common
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2019-07-25 10:59:37 +0200
committerSonarTech <sonartech@sonarsource.com>2019-07-30 20:24:27 +0200
commit2e9eeb4eb9c26bac7f8df8e568018ab843e95a54 (patch)
tree3b2fe3fb62c4c0026e8405aef827f2e3af4f1060 /server/sonar-ce-common
parent45d3a6430c5baa30721c57207e06c9823bc7d775 (diff)
downloadsonarqube-2e9eeb4eb9c26bac7f8df8e568018ab843e95a54.tar.gz
sonarqube-2e9eeb4eb9c26bac7f8df8e568018ab843e95a54.zip
SONAR-10028 move CeQueueCleaner to Web to support clustering
Diffstat (limited to 'server/sonar-ce-common')
-rw-r--r--server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java11
-rw-r--r--server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java5
2 files changed, 16 insertions, 0 deletions
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
index bb1b7281c02..c2bf3568dd6 100644
--- a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
+++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
@@ -25,6 +25,7 @@ import java.util.Optional;
import javax.annotation.Nullable;
import org.sonar.ce.task.CeTask;
import org.sonar.db.DbSession;
+import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
/**
@@ -112,6 +113,16 @@ public interface CeQueue {
WorkersPauseStatus getWorkersPauseStatus();
+ /**
+ * Removes all the tasks from the queue, whatever their status. They are marked
+ * as {@link CeActivityDto.Status#CANCELED} in past activity.
+ * This method can NOT be called when workers are being executed, as in progress
+ * tasks can't be killed.
+ *
+ * @return the number of canceled tasks
+ */
+ int clear();
+
enum SubmitOption {
UNIQUE_QUEUE_PER_MAIN_COMPONENT
}
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
index 39f832f8f30..b9862d298b4 100644
--- a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
+++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
@@ -340,6 +340,11 @@ public class CeQueueImpl implements CeQueue {
}
}
+ @Override
+ public int clear() {
+ return cancelAll(true);
+ }
+
CeTask convertToTask(DbSession dbSession, CeQueueDto taskDto, Map<String, String> characteristics, @Nullable ComponentDto component, @Nullable ComponentDto mainComponent) {
CeTask.Builder builder = new CeTask.Builder()
.setUuid(taskDto.getUuid())