public void run() { LOGGER.info("Running tasks"); /* * while (true) { Task task = getTask(); IDataPlugin plugin = * task.getPlugin(); Settings settings = task.getSettings(); * plugin.doJob(_dataEngine, _environment, settings); */ TaskInfo taskInfo = null; for (ITask task : _tasks) { try { taskInfo = ((Task) task).getInfo(); LOGGER.info("task: " + taskInfo.getName()); ISettings settings = task.getSettings(); taskInfo.setStatus(TaskInfo.REALIZATION); // changing status taskInfo.save(); _dbManager.commit(); // // processing task // ILocalPlugin plugin = task.getPlugin(); LOGGER.debug("plugin: " + plugin + " id: " + plugin.getInfo().getId()); IResult result = plugin.doJob(getDataEngine(), _environment, settings); // // saving result of its execution // task.setResult(result); taskInfo.save(); _dbManager.commit(); // // if task was not processed correctly // exception is caught and shoul be handled here // } catch (Exception e) { LOGGER.fatal("TASK PROCESSING ERROR", e); try { taskInfo.setStatus(TaskInfo.EXCEPTION); taskInfo.save(); } catch (Exception ex) { LOGGER.fatal("", ex); } _dbManager.commit(); } } }