feat: Make schedule remove unused plugins
This commit is contained in:
parent
d08dd3777a
commit
81057bf104
2 changed files with 20 additions and 12 deletions
|
@ -1,9 +1,15 @@
|
||||||
package eu.m724.mstats;
|
package eu.m724.mstats;
|
||||||
|
|
||||||
import eu.m724.mstats.api.service.PluginService;
|
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.runtime.StartupEvent;
|
||||||
|
import io.quarkus.scheduler.Scheduled;
|
||||||
import jakarta.enterprise.event.Observes;
|
import jakarta.enterprise.event.Observes;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.transaction.Transactional;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
public class Startup {
|
public class Startup {
|
||||||
@Inject
|
@Inject
|
||||||
|
@ -12,4 +18,18 @@ public class Startup {
|
||||||
public void onStartup(@Observes StartupEvent event) {
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package eu.m724.mstats.api.service;
|
||||||
import eu.m724.mstats.api.resource.ServerApiResource;
|
import eu.m724.mstats.api.resource.ServerApiResource;
|
||||||
import eu.m724.mstats.orm.Plugin;
|
import eu.m724.mstats.orm.Plugin;
|
||||||
import eu.m724.mstats.orm.Server;
|
import eu.m724.mstats.orm.Server;
|
||||||
import io.quarkus.scheduler.Scheduled;
|
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
|
|
||||||
|
@ -50,15 +49,4 @@ public class ServerService {
|
||||||
server.lastHeartbeat = LocalDateTime.now();
|
server.lastHeartbeat = LocalDateTime.now();
|
||||||
server.persistAndFlush();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue