@Override public void run() { ReportQueue.Item item = null; try { item = queue.pop(); } catch (Exception e) { LOG.error("Failed to pop the queue of analysis reports", e); } if (item == null) { return; } ComputeEngineContainer computeEngineContainer = containerFactory.create(sqContainer, item); try { computeEngineContainer.process(); } catch (Throwable e) { LOG.error( String.format( "Failed to process analysis report %d of project %s", item.dto.getId(), item.dto.getProjectKey()), e); } finally { computeEngineContainer.cleanup(); removeSilentlyFromQueue(item); } }
@Override public void process(CeTask task) { ComputeEngineContainer ceContainer = containerFactory.create(serverContainer, task); try { ceContainer.getComponentByType(ComputationStepExecutor.class).execute(); } finally { ceContainer.cleanup(); } }