This commit is contained in:
Yazawazi 2022-04-27 07:08:33 +08:00
parent ca3d8b44d1
commit 4d23d90252
3 changed files with 15 additions and 1 deletions

View File

@ -3,6 +3,20 @@ package emu.grasscutter.task;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/*
* So what is cron expression?
* Check this: https://en.wikipedia.org/wiki/Cron
# minute (0 - 59)
# hour (0 - 23)
# day of the month (1 - 31)
# month (1 - 12)
# day of the week (0 - 6) (Sunday to Saturday;
# 7 is also Sunday on some systems)
#
#
# * * * * *
* */
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
public @interface Task { public @interface Task {
String taskName() default "NO_NAME"; String taskName() default "NO_NAME";

View File

@ -79,7 +79,6 @@ public final class TaskMap {
private void scan() { private void scan() {
Reflections reflector = Grasscutter.reflector; Reflections reflector = Grasscutter.reflector;
Set<Class<?>> classes = reflector.getTypesAnnotatedWith(Task.class); Set<Class<?>> classes = reflector.getTypesAnnotatedWith(Task.class);
System.out.println("Found " + classes.size() + " tasks.");
classes.forEach(annotated -> { classes.forEach(annotated -> {
try { try {
Task taskData = annotated.getAnnotation(Task.class); Task taskData = annotated.getAnnotation(Task.class);

View File

@ -11,6 +11,7 @@ import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import org.quartz.JobExecutionException;
@Task(taskName = "MoonCard", taskCronExpression = "0 0 0 * * ?", triggerName = "MoonCardTrigger") @Task(taskName = "MoonCard", taskCronExpression = "0 0 0 * * ?", triggerName = "MoonCardTrigger")
// taskCronExpression: Fixed time period: 0:0:0 every day (twenty-four hour system)
public final class MoonCard implements TaskHandler { public final class MoonCard implements TaskHandler {
@Override @Override
public void execute(JobExecutionContext context) throws JobExecutionException { public void execute(JobExecutionContext context) throws JobExecutionException {