diff --git a/src/main/java/eu/m724/mstats/Startup.java b/src/main/java/eu/m724/mstats/Startup.java index a88c78a..ab36426 100644 --- a/src/main/java/eu/m724/mstats/Startup.java +++ b/src/main/java/eu/m724/mstats/Startup.java @@ -1,9 +1,15 @@ package eu.m724.mstats; import eu.m724.mstats.api.service.PluginService; +import eu.m724.mstats.orm.PluginVersion; +import eu.m724.mstats.orm.Server; import io.quarkus.runtime.StartupEvent; +import io.quarkus.scheduler.Scheduled; import jakarta.enterprise.event.Observes; import jakarta.inject.Inject; +import jakarta.transaction.Transactional; + +import java.time.LocalDateTime; public class Startup { @Inject @@ -12,4 +18,18 @@ public class Startup { public void onStartup(@Observes StartupEvent event) { } + + // TODO move to a more appropriate class + @Transactional + @Scheduled(every="30m") + public void cleanUp() { + System.out.println("Cleanup running"); + + LocalDateTime limit = LocalDateTime.now().minusHours(2); + long deleted = Server.delete("lastHeartbeat < ?1", limit); + System.out.printf("Deleted %d inactive servers\n", deleted); + + deleted = PluginVersion.delete("servers is empty"); + System.out.printf("Deleted %d unused plugins\n", deleted); + } } diff --git a/src/main/java/eu/m724/mstats/api/service/ServerService.java b/src/main/java/eu/m724/mstats/api/service/ServerService.java index 60a37e7..fa50126 100644 --- a/src/main/java/eu/m724/mstats/api/service/ServerService.java +++ b/src/main/java/eu/m724/mstats/api/service/ServerService.java @@ -3,7 +3,6 @@ package eu.m724.mstats.api.service; import eu.m724.mstats.api.resource.ServerApiResource; import eu.m724.mstats.orm.Plugin; import eu.m724.mstats.orm.Server; -import io.quarkus.scheduler.Scheduled; import jakarta.enterprise.context.ApplicationScoped; import jakarta.transaction.Transactional; @@ -50,15 +49,4 @@ public class ServerService { server.lastHeartbeat = LocalDateTime.now(); server.persistAndFlush(); } - - @Transactional - @Scheduled(every="30m") - public void cleanUp() { - System.out.println("Cleanup running"); - - LocalDateTime now = LocalDateTime.now().minusHours(2); - long deleted = Server.delete("lastHeartbeat < ?1", now); - - System.out.printf("Deleted %d servers\n", deleted); - } }