|
|
@@ -19,10 +19,11 @@ |
|
|
|
*/ |
|
|
|
package org.sonar.ce.queue; |
|
|
|
|
|
|
|
import java.util.Calendar; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Set; |
|
|
|
import org.sonar.api.Startable; |
|
|
|
import org.sonar.api.ce.ComputeEngineSide; |
|
|
|
import org.sonar.api.utils.DateUtils; |
|
|
|
import org.sonar.api.utils.System2; |
|
|
|
import org.sonar.api.utils.log.Logger; |
|
|
|
import org.sonar.api.utils.log.Loggers; |
|
|
@@ -49,24 +50,19 @@ public class PurgeCeActivities implements Startable { |
|
|
|
@Override |
|
|
|
public void start() { |
|
|
|
try (DbSession dbSession = dbClient.openSession(false)) { |
|
|
|
Calendar sixMonthsAgo = Calendar.getInstance(); |
|
|
|
long now = system2.now(); |
|
|
|
sixMonthsAgo.setTimeInMillis(now); |
|
|
|
sixMonthsAgo.add(Calendar.DATE, -180); |
|
|
|
Date sixMonthsAgo = DateUtils.addDays(new Date(system2.now()), -180); |
|
|
|
|
|
|
|
LOGGER.info("Delete the Compute Engine tasks created before {}", sixMonthsAgo.getTime()); |
|
|
|
Set<String> ceActivityUuids = dbClient.ceActivityDao().selectOlderThan(dbSession, sixMonthsAgo.getTimeInMillis()) |
|
|
|
Set<String> ceActivityUuids = dbClient.ceActivityDao().selectOlderThan(dbSession, sixMonthsAgo.getTime()) |
|
|
|
.stream() |
|
|
|
.map(CeActivityDto::getUuid) |
|
|
|
.collect(toSet()); |
|
|
|
dbClient.ceActivityDao().deleteByUuids(dbSession, ceActivityUuids); |
|
|
|
|
|
|
|
Calendar fourWeeksAgo = Calendar.getInstance(); |
|
|
|
fourWeeksAgo.setTimeInMillis(system2.now()); |
|
|
|
fourWeeksAgo.add(Calendar.DATE, -28); |
|
|
|
Date fourWeeksAgo = DateUtils.addDays(new Date(system2.now()), -28); |
|
|
|
|
|
|
|
LOGGER.info("Delete the Scanner contexts tasks created before {}", fourWeeksAgo.getTime()); |
|
|
|
Set<String> scannerContextUuids = dbClient.ceScannerContextDao().selectOlderThan(dbSession, fourWeeksAgo.getTimeInMillis()); |
|
|
|
Set<String> scannerContextUuids = dbClient.ceScannerContextDao().selectOlderThan(dbSession, fourWeeksAgo.getTime()); |
|
|
|
dbClient.ceScannerContextDao().deleteByUuids( |
|
|
|
dbSession, |
|
|
|
concat(ceActivityUuids.stream(), scannerContextUuids.stream()).collect(toSet())); |