/** * simulate task execution * take randomly one task from the history and use its duration for simulation * */ public long simulateTaskExecution(TaskEntity execTask, Map<String, Object> variables) { List<HistoricTaskInstance> historicInstances = historyService.createHistoricTaskInstanceQuery() .taskDefinitionKey( execTask.getTaskDefinitionKey() ).finished().list(); if ( historicInstances.isEmpty() ) //use backupExecutor return backUpExecutor.simulateTaskExecution(execTask, variables); // get random historic instance HistoricTaskInstance historicTask = historicInstances.get( SimUtils.getRandomInt( historicInstances.size() )); //@TODO in version 5.12 use time spend on task return historicTask.getDurationInMillis(); }
result.setDescription(taskInstance.getDescription()); result.setDueDate(taskInstance.getDueDate()); result.setDurationInMillis(taskInstance.getDurationInMillis()); result.setEndTime(taskInstance.getEndTime()); result.setExecutionId(taskInstance.getExecutionId());