protected String runEx()

in ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java [140:191]


    protected String runEx() {
        logger.info("Build triggering task is started");

        if (Boolean.parseBoolean(System.getProperty(AUTO_TRIGGERING_BUILD_DISABLED))) {
            final String msg = "Automatic build triggering was disabled.";
            logger.info(msg);
            return msg;
        }

        Stream<ITrackedBranch> tracked = cfg.getTrackedBranches().branchesStream();

        int srvsChecked = 0, chainsChecked = 0;

        Map<String, List<ITrackedChain>> chainsBySrv = mapChainsByServer(tracked);
        if (chainsBySrv.isEmpty()) {
            final String msg = "Background check queue skipped - no config set for tracked branches.";
            logger.info(msg);

            return msg;
        }
        for (Map.Entry<String, List<ITrackedChain>> entry : chainsBySrv.entrySet()) {
            String srvCode = entry.getKey();

            if (autoTriggerDisabledForWorkingHours(srvCode)) {
                final String msg = "Automatic build triggering was disabled during working hours.";
                logger.info(msg);

                return msg;
            }

            List<ITrackedChain> chainsAll = entry.getValue();
            List<ITrackedChain> chains = chainsAll.stream()
                    .filter(c -> Objects.equals(c.serverCode(), srvCode))
                    .collect(toList());

            srvsChecked++;

            chainsChecked += chainsAll.size();

            try {
                checkQueue(srvCode, chains);
            }
            catch (Exception e) {
                logger.error("Unable to check queue: " + e.getMessage(), e);

                throw ExceptionUtil.propagateException(e);
            }
        }

        return "Checked: " + srvsChecked + "servers, " + chainsChecked + " chains, "
            + ": Trigger'able branches " + chainsBySrv.size();
    }