issue-86 #102
@ -25,7 +25,7 @@ public class DemoApplication{
|
||||
@Bean
|
||||
public CommandLineRunner init() {
|
||||
return args -> {
|
||||
TaskSchedulingService.scheduleTask();
|
||||
TaskSchedulingService.scheduleStartingTask("Finishing ConceptCreator");
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ public class NtfyTask implements Job {
|
||||
try {
|
||||
HttpRequest request = HttpRequest.newBuilder()
|
||||
.uri(new URI("http://localhost:4280/Test"))
|
||||
.POST(HttpRequest.BodyPublishers.ofString("A simple testmessage"))
|
||||
.POST(HttpRequest.BodyPublishers.ofString(jobExecutionContext.getMergedJobDataMap().getString("data")))
|
||||
.build();
|
||||
|
||||
httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString());
|
||||
|
@ -0,0 +1,34 @@
|
||||
package core.services.ntfy;
|
||||
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
|
||||
public class NtfyTaskStartNotification implements Job {
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||
HttpClient httpClient = HttpClient.newHttpClient();
|
||||
String msg = "Task " + jobExecutionContext.getMergedJobDataMap().getString("task") + " should have been started by now!";
|
||||
|
||||
try {
|
||||
HttpRequest request = HttpRequest.newBuilder()
|
||||
.uri(new URI("http://localhost:4280/Test"))
|
||||
.POST(HttpRequest.BodyPublishers.ofString(msg))
|
||||
.header("Tags", "warning")
|
||||
.header("Title", "Task Starting Reminder")
|
||||
.header("Actions", "view, Open TimeScheduler, https://time.fawkes100.de/, clear=true")
|
||||
.build();
|
||||
|
||||
httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString());
|
||||
} catch (URISyntaxException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
@ -10,13 +10,25 @@ import java.util.Date;
|
||||
|
||||
public class TaskSchedulingService {
|
||||
|
||||
public static void scheduleStartingTask(String taskName) throws SchedulerException {
|
||||
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
|
||||
scheduler.start();
|
||||
|
||||
JobDetail job = JobBuilder.newJob(NtfyTaskStartNotification.class).build();
|
||||
job.getJobDataMap().put("task", taskName);
|
||||
|
||||
Trigger immediatly = TriggerBuilder.newTrigger().startNow().build();
|
||||
|
||||
scheduler.scheduleJob(job, immediatly);
|
||||
}
|
||||
|
||||
public static void scheduleTask() throws SchedulerException {
|
||||
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
|
||||
scheduler.start();
|
||||
|
||||
JobDetail job = JobBuilder.newJob(NtfyTask.class).withIdentity("Job 1", "Group 1").build();
|
||||
JobDetail job2 = JobBuilder.newJob(NtfyTask.class).withIdentity("Job 2", "Group 1").build();
|
||||
JobDetail job = JobBuilder.newJob(NtfyTask.class).build();
|
||||
|
||||
job.getJobDataMap().put("data", "A simple Job 1 Message");
|
||||
|
||||
LocalDateTime executionTime = LocalDateTime.of(2024, 3, 14, 9, 18); // Example: March 15, 2024, 10:00 AM
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user