taskDefinitionService.delete(taskDefinitionIds);
}
private synchronized void startTask(boolean forceStart, Long... taskDefinitionIds) {
for(Long taskDefinitionId : taskDefinitionIds) {
TaskDefinition td = taskDefinitionService.findOne(taskDefinitionId);
if(td == null || (forceStart == false && Boolean.TRUE.equals(td.getStart()))) {
return;
}
try {
ScheduledFuture<?> future = taskScheduler.schedule(createTask(td), new CronTrigger(td.getCron()));
taskMap.put(taskDefinitionId, future);
td.setStart(Boolean.TRUE);
} catch (Exception e) {
logger.error("start task error, task id:" + taskDefinitionId, e);
td.setDescription(e.getMessage());
}
taskDefinitionService.update(td);
}
}