enable/disable job schedule
This commit is contained in:
parent
c7747c75f0
commit
76f8a38372
3 changed files with 26 additions and 17 deletions
2
pom.xml
2
pom.xml
|
@ -43,7 +43,7 @@
|
|||
<dbflute.version>1.1.1</dbflute.version>
|
||||
<lastaflute.version>0.7.9-RC4</lastaflute.version>
|
||||
<lasta.taglib.version>0.6.8</lasta.taglib.version>
|
||||
<lasta.job.version>0.2.0-RCC</lasta.job.version>
|
||||
<lasta.job.version>0.2.0-RCD</lasta.job.version>
|
||||
<servlet.version>3.1.0</servlet.version>
|
||||
<jsp.version>2.3.1</jsp.version>
|
||||
<mailflute.version>0.4.8</mailflute.version>
|
||||
|
|
|
@ -76,8 +76,6 @@ public class Constants extends CoreLibConstants {
|
|||
|
||||
public static final String DEFAULT_HOURLY_CRON_EXPRESSION = "0 * * * *";
|
||||
|
||||
public static final String UNSCHEDULE_CRON_EXPRESSION = "0 0 1 1 sun";
|
||||
|
||||
public static final int DEFAULT_INTERVAL_TIME_FOR_FS = 1000;
|
||||
|
||||
public static final int DEFAULT_INTERVAL_TIME_FOR_WEB = 30000;
|
||||
|
|
|
@ -143,25 +143,38 @@ public class ScheduledJobService implements Serializable {
|
|||
return;
|
||||
}
|
||||
|
||||
final String cronExpression;
|
||||
if (StringUtil.isNotBlank(scheduledJob.getCronExpression())) {
|
||||
logger.info("Starting Job " + id + ":" + scheduledJob.getName());
|
||||
cronExpression = scheduledJob.getCronExpression();
|
||||
} else {
|
||||
logger.info("Inactive Job " + id + ":" + scheduledJob.getName());
|
||||
cronExpression = Constants.UNSCHEDULE_CRON_EXPRESSION;
|
||||
}
|
||||
final CronOpCall opLambda = option -> option.uniqueBy(id).changeNoticeLogToDebug().params(() -> {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put(Constants.SCHEDULED_JOB, scheduledJob);
|
||||
return params;
|
||||
});
|
||||
findJobByUniqueOf(LaJobUnique.of(id)).ifPresent(job -> {
|
||||
job.reschedule(cronExpression, opLambda);
|
||||
if (!job.isUnscheduled()) {
|
||||
if (StringUtil.isNotBlank(scheduledJob.getCronExpression())) {
|
||||
logger.info("Starting Job " + id + ":" + scheduledJob.getName());
|
||||
final String cronExpression = scheduledJob.getCronExpression();
|
||||
job.reschedule(cronExpression, opLambda);
|
||||
} else {
|
||||
logger.info("Inactive Job " + id + ":" + scheduledJob.getName());
|
||||
job.becomeNonCron();
|
||||
}
|
||||
} else if (StringUtil.isNotBlank(scheduledJob.getCronExpression())) {
|
||||
logger.info("Starting Job " + id + ":" + scheduledJob.getName());
|
||||
String cronExpression = scheduledJob.getCronExpression();
|
||||
job.reschedule(cronExpression, opLambda);
|
||||
}
|
||||
}).orElse(
|
||||
() -> {
|
||||
cron.register(cronExpression, fessConfig.getSchedulerJobClassAsClass(),
|
||||
fessConfig.getSchedulerConcurrentExecModeAsEnum(), opLambda);
|
||||
if (StringUtil.isNotBlank(scheduledJob.getCronExpression())) {
|
||||
logger.info("Starting Job " + id + ":" + scheduledJob.getName());
|
||||
final String cronExpression = scheduledJob.getCronExpression();
|
||||
cron.register(cronExpression, fessConfig.getSchedulerJobClassAsClass(),
|
||||
fessConfig.getSchedulerConcurrentExecModeAsEnum(), opLambda);
|
||||
} else {
|
||||
logger.info("Inactive Job " + id + ":" + scheduledJob.getName());
|
||||
cron.registerNonCron(fessConfig.getSchedulerJobClassAsClass(), fessConfig.getSchedulerConcurrentExecModeAsEnum(),
|
||||
opLambda);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -188,9 +201,7 @@ public class ScheduledJobService implements Serializable {
|
|||
}
|
||||
|
||||
protected boolean isTarget(final String target) {
|
||||
if (StringUtil.isBlank(target))
|
||||
|
||||
{
|
||||
if (StringUtil.isBlank(target)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue