diff --git a/README_SETUP.md b/README_SETUP.md index 64e613ddd481a9bc3b83f625d9d3eef04985025f..37d3e4786ee17db6792c084d21132600be87e1ed 100644 --- a/README_SETUP.md +++ b/README_SETUP.md @@ -197,10 +197,11 @@ Stand-alone documentation is built using Sphinx: `make doc` ### Requirements ## +- plantuml +- recommonmark - sphinx -* sphinx-rtd-theme -* sphinxcontrib-plantuml -* recommonmark +- sphinx-rtd-theme +- sphinxcontrib-plantuml - javasphinx :: `pip3 install --user javasphinx` - Alternative, if javasphinx fails because python3-sphinx is too recent: (`l_` not found): diff --git a/src/main/java/org/caosdb/server/jobs/JobAnnotation.java b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java index b1493f13db8cca97a99c9241903693e3e02dba78..8acdaccb9f56b0b779474c510b0216a1a327971a 100644 --- a/src/main/java/org/caosdb/server/jobs/JobAnnotation.java +++ b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java @@ -26,7 +26,12 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import org.caosdb.server.transaction.TransactionInterface; -/** Jobs may be annotated with @JobAnnotation(...). */ +/** + * Jobs may be annotated with @JobAnnotation(...). + * + * <p>Without a JobAnnotation, the Job will run at the default {@link + * org.caosdb.server.transaction.Transaction#check() CHECK} stage. + */ @Retention(RetentionPolicy.RUNTIME) public @interface JobAnnotation { JobExecutionTime time() default JobExecutionTime.CHECK; diff --git a/src/main/java/org/caosdb/server/jobs/Schedule.java b/src/main/java/org/caosdb/server/jobs/Schedule.java index 58630648ce60082d15d49e7f41f443c7395a3a50..892f590fe4497bf1083a002eedccc2bcb374cf13 100644 --- a/src/main/java/org/caosdb/server/jobs/Schedule.java +++ b/src/main/java/org/caosdb/server/jobs/Schedule.java @@ -30,7 +30,13 @@ import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; import org.caosdb.server.entity.EntityInterface; -/** Keeps track of Jobs, ordered by "time". */ +/** + * Keeps track of Jobs. + * + * <p>The Schedule class orders jobs by "time" and also assures that jobs are skipped when + * appropriate and to prevent that jobs run more than once (because sometimes they trigger each + * other). + */ public class Schedule { private final Map<Integer, List<ScheduledJob>> jobLists = new HashMap<>();