From 9e7b778fad335185f48df9b17998c3e9e61d3640 Mon Sep 17 00:00:00 2001 From: Johanna Date: Thu, 31 Aug 2023 09:10:08 +0200 Subject: [PATCH 1/2] Changing chaningTask to hold data. --- .../example/ChainTask.java | 30 ++++++++++---- .../example/TaskDefinitions.java | 7 ++-- .../model/TestObject.java | 41 +++++++++++++++++++ .../service/TaskService.java | 8 +--- 4 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/model/TestObject.java diff --git a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/ChainTask.java b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/ChainTask.java index ab4ff7fc..5ffe2680 100644 --- a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/ChainTask.java +++ b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/ChainTask.java @@ -1,6 +1,6 @@ package com.github.bekk.dbscheduleruibackend.example; -import com.github.bekk.dbscheduleruibackend.model.TaskData; +import com.github.bekk.dbscheduleruibackend.model.TestObject; import com.github.kagkarlsson.scheduler.SchedulerClient; import com.github.kagkarlsson.scheduler.task.helper.OneTimeTask; import com.github.kagkarlsson.scheduler.task.helper.Tasks; @@ -9,21 +9,33 @@ public class ChainTask { - public static OneTimeTask chainTaskStepOne() { - return Tasks.oneTime("chained-onetime-task-step1", TaskData.class). + public static OneTimeTask chainTaskStepOne() { + return Tasks.oneTime("chained-onetime-task-step1", TestObject.class). execute((inst, ctx) ->{ - final SchedulerClient client = ctx.getSchedulerClient(); - System.out.println("Executed chained onetime task step 1: " + inst.getTaskName()+ " " + inst.getId()); - client.schedule(chainTaskStepTwo().instance(inst.getId()), Instant.now()); + try { + sleep(500); + final SchedulerClient client = ctx.getSchedulerClient(); + System.out.println("Executed chained onetime task step 1: " + inst.getTaskName()+ " " + inst.getId()); + TestObject data = inst.getData(); + data.setId(data.getId()+1); + client.schedule(chainTaskStepTwo().instance(inst.getId(), data), Instant.now()); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + }); } - public static OneTimeTask chainTaskStepTwo(){ - return Tasks.oneTime("chained-onetime-task-step2", TaskData.class). + public static OneTimeTask chainTaskStepTwo(){ + return Tasks.oneTime("chained-onetime-task-step2", TestObject.class). execute((inst, ctx) -> { try { - sleep(5000); + sleep(500); + final SchedulerClient client = ctx.getSchedulerClient(); System.out.println("Executed chained onetime task step 2: " + inst.getTaskName() + " " + inst.getId()); + TestObject data = inst.getData(); + data.setId(data.getId()+1); + client.schedule(chainTaskStepOne().instance(inst.getId(),data), Instant.now()); } catch (InterruptedException e) { throw new RuntimeException(e); } diff --git a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java index 80411e8c..a03ab251 100644 --- a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java +++ b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java @@ -1,6 +1,7 @@ package com.github.bekk.dbscheduleruibackend.example; import com.github.bekk.dbscheduleruibackend.model.TaskData; +import com.github.bekk.dbscheduleruibackend.model.TestObject; import com.github.kagkarlsson.scheduler.task.Task; import com.github.kagkarlsson.scheduler.task.TaskInstance; @@ -28,14 +29,14 @@ public static List> getAllKnownTaskInstances() { return List.of( OneTimeTaskExample.getExample().instance("1", new TaskData(1, "test data")), RecurringTaskExample.getExample().instance("2"), - ChainTask.chainTaskStepOne().instance("3"), - ChainTask.chainTaskStepTwo().instance("4"), + ChainTask.chainTaskStepOne().instance("3", new TestObject("Ole Nordman", 3, "ole.nordman@mail.com")), + //ChainTask.chainTaskStepTwo().instance("4"), LongRunningTask.runLongRunningTask().instance("5"), FailingTask.runOneTimeFailing().instance("6"), FailingTask.runRecurringFailing().instance("7"), FailingTask.runOneTimeFailingWithBackoff().instance("8"), SpawnerTask.runSpawner().instance("9"), - SpawnerTask.runSpawned().instance("10"), + //SpawnerTask.runSpawned().instance("10"), LongRunningTask.runLongRunningRecurringTask().instance("11") ); } diff --git a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/model/TestObject.java b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/model/TestObject.java new file mode 100644 index 00000000..04dd74fc --- /dev/null +++ b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/model/TestObject.java @@ -0,0 +1,41 @@ +package com.github.bekk.dbscheduleruibackend.model; + +import java.io.Serializable; + +public class TestObject implements Serializable { + private String name; + private int id; + private String email; + + public String getName() { + return name; + } + public TestObject(String initialName, int id, String email) { + this.id = id; + this.name = initialName; + this.email = email; + + } + + public void setName(String name) { + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + +} diff --git a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/service/TaskService.java b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/service/TaskService.java index 4a1f1607..3b2bcb8e 100644 --- a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/service/TaskService.java +++ b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/service/TaskService.java @@ -2,11 +2,7 @@ import com.github.bekk.dbscheduleruibackend.example.*; import com.github.bekk.dbscheduleruibackend.example.OneTimeTaskExample; -import com.github.bekk.dbscheduleruibackend.model.TaskModel; -import com.github.bekk.dbscheduleruibackend.model.TaskRequestParams; -import com.github.bekk.dbscheduleruibackend.model.GetTasksResponse; -import com.github.bekk.dbscheduleruibackend.model.TaskData; -import com.github.bekk.dbscheduleruibackend.model.TaskType; +import com.github.bekk.dbscheduleruibackend.model.*; import com.github.bekk.dbscheduleruibackend.util.mapper.TaskMapper; import com.github.kagkarlsson.scheduler.ScheduledExecution; import com.github.kagkarlsson.scheduler.Scheduler; @@ -78,7 +74,7 @@ public void runRecurringTask() { public void runChainTask() { long randomUUID = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE; System.out.println("Chain test"); - scheduler.schedule(ChainTask.chainTaskStepOne().instance(Long.toString(randomUUID), new TaskData(randomUUID, "test")), Instant.now().plusSeconds(1)); + scheduler.schedule(ChainTask.chainTaskStepOne().instance(Long.toString(randomUUID), new TestObject("Ole Nordman", 3, "ole.nordman@mail.com")), Instant.now().plusSeconds(100)); } public void runAllTasks(){ From 0b41874882a489254bc0f6bd2353718b1818e5ee Mon Sep 17 00:00:00 2001 From: Johanna Date: Thu, 31 Aug 2023 09:26:32 +0200 Subject: [PATCH 2/2] ChainTaskTwo deleted from getAllKnownTasks --- .../bekk/dbscheduleruibackend/example/TaskDefinitions.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java index a03ab251..d1a332a3 100644 --- a/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java +++ b/db-scheduler-ui-backend/src/main/java/com/github/bekk/dbscheduleruibackend/example/TaskDefinitions.java @@ -30,13 +30,12 @@ public static List> getAllKnownTaskInstances() { OneTimeTaskExample.getExample().instance("1", new TaskData(1, "test data")), RecurringTaskExample.getExample().instance("2"), ChainTask.chainTaskStepOne().instance("3", new TestObject("Ole Nordman", 3, "ole.nordman@mail.com")), - //ChainTask.chainTaskStepTwo().instance("4"), LongRunningTask.runLongRunningTask().instance("5"), FailingTask.runOneTimeFailing().instance("6"), FailingTask.runRecurringFailing().instance("7"), FailingTask.runOneTimeFailingWithBackoff().instance("8"), SpawnerTask.runSpawner().instance("9"), - //SpawnerTask.runSpawned().instance("10"), + SpawnerTask.runSpawned().instance("10"), LongRunningTask.runLongRunningRecurringTask().instance("11") ); }