For fixed duration (Every XX), the duration is calculated at the begining * of each invocation
*For fixed delay, the duration is calculated at the end of each invocation, * thus the job execution time will impact the next time the job is invoked
*/ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) public @interface Every { /** * Specifies the duration to execute the method. Time could be specified in * days, hours, minutes and seconds. For example: *Note, combination time specification is not supported. For example * {@code "1d 5h 30mn"} will be considered to be illegal argument
*If this option is miss specified, then the default value will be * set to {@code 1s} one second
*The value shall not be zero or negative, otherwise IllegalArgumentException * will be thrown out
*/ String value() default "1s"; /** * Specify the ID of the scheduled job. Default value: empty string * @return the job id */ String id() default ""; /** * Specify the job shall start immediately after app started. * * Default value is `true`. * * @return whether the job shall start immediately after the app started */ boolean startImmediately() default true; }