summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java')
-rw-r--r--src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java b/src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java
index e0bfd24..b68a14a 100644
--- a/src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java
+++ b/src/main/java/net/libertacasa/pubsh/web/SchedulerBean.java
@@ -1,6 +1,5 @@
package net.libertacasa.pubsh.web;
-import java.time.Duration;
import java.time.Instant;
import org.springframework.boot.CommandLineRunner;
@@ -10,20 +9,32 @@ import org.springframework.context.annotation.Configuration;
import com.github.kagkarlsson.scheduler.Scheduler;
import com.github.kagkarlsson.scheduler.task.Task;
import com.github.kagkarlsson.scheduler.task.helper.Tasks;
-import static com.github.kagkarlsson.scheduler.task.schedule.Schedules.fixedDelay;
+//import static com.github.kagkarlsson.scheduler.task.schedule.Schedules.fixedDelay;
@Configuration
public class SchedulerBean {
- @Bean
- Task<Void> recurringSampleTask(CounterService counter) {
- return Tasks
- .recurring("recurring-sample-task", fixedDelay(Duration.ofMinutes(1)))
- .execute((instance, ctx) -> {
- System.out.printf("Recurring testing task. Instance: %s, ctx: %s\n", instance, ctx);
- CounterService.increase();
- });
- }
+// @Bean
+// Task<Void> recurringSampleTask(CounterService counter) {
+// return Tasks
+// .recurring("recurring-sample-task", fixedDelay(Duration.ofMinutes(1)))
+// .execute((instance, ctx) -> {
+// System.out.printf("Recurring testing task. Instance: %s, ctx: %s\n", instance, ctx);
+// CounterService.increase();
+// });
+// }
+
+ @Bean
+ public static Task<Void> shellRemovalTask() {
+
+ return Tasks.oneTime("shell-removal")
+ .execute((instance, ctx) -> {
+ System.out.printf("Running container removal task - Instance: %s, ctx: %s\n", instance, ctx);
+ String username = instance.getId().split("&")[0];
+ String containerid = instance.getId().split("&")[1];
+ Docker.deleteShell(username, containerid);
+ });
+ }
@Bean
Task<Void> sampleOneTimeTask() {
@@ -33,6 +44,7 @@ public class SchedulerBean {
});
}
+ // keeping this as a quick way to check if the scheduler booted up after an application restart
@Bean
CommandLineRunner executeOnStartup(Scheduler scheduler, Task<Void> sampleOneTimeTask) {
System.out.println("Scheduling one-shot testing task to execute now.");