RuneHive-Game
Loading...
Searching...
No Matches
Jobs.java
Go to the documentation of this file.
1package com.runehive.game.world.cronjobs;
2
3import com.runehive.game.world.cronjobs.impl.DoubleExperienceJob;
4import com.runehive.game.world.cronjobs.impl.OpenAIRelayJob;
5import org.quartz.*;
6import org.quartz.impl.StdSchedulerFactory;
7
8import static org.quartz.CronScheduleBuilder.cronSchedule;
9import static org.quartz.TriggerBuilder.newTrigger;
10
11public class Jobs {
12
13 private static final SchedulerFactory factory = new StdSchedulerFactory();
14
15 public static void load() throws SchedulerException {
16 final Scheduler scheduler = factory.getScheduler();
17
18 // Double Experience Job - Fired every hour
19 final JobDetail doubleExpJob = JobBuilder.newJob(DoubleExperienceJob.class).build();
20 final CronTrigger doubleExpTrigger = newTrigger().withSchedule(cronSchedule("0 0 * ? * *")).build();
21 scheduler.scheduleJob(doubleExpJob, doubleExpTrigger);
22 System.out.println("Double Experience Job: " + doubleExpTrigger.getNextFireTime());
23
24 // OpenAI Relay Job - Fired every 30 minutes for cleanup and monitoring
25 final JobDetail openAIRelayJob = JobBuilder.newJob(OpenAIRelayJob.class).build();
26 final CronTrigger openAIRelayTrigger = newTrigger().withSchedule(cronSchedule("0 */30 * ? * *")).build();
27 scheduler.scheduleJob(openAIRelayJob, openAIRelayTrigger);
28 System.out.println("OpenAI Relay Job: " + openAIRelayTrigger.getNextFireTime());
29
30 scheduler.start();
31 }
32}
static final SchedulerFactory factory
Definition Jobs.java:13