protected void doRun()

in src/main/java/com/amazon/jenkins/ec2fleet/CloudNanny.java [46:75]


    protected void doRun() {
        final List<EC2FleetStatusInfo> info = new ArrayList<>();
        for (final Cloud cloud : getClouds()) {
            if (!(cloud instanceof EC2FleetCloud)) continue;
            final EC2FleetCloud fleetCloud = (EC2FleetCloud) cloud;

            AtomicInteger recurrenceCounter = getRecurrenceCounter(fleetCloud);

            if (recurrenceCounter.decrementAndGet() > 0) {
                continue;
            }

            recurrenceCounter.set(fleetCloud.getCloudStatusIntervalSec());

            try {
                // Update the cluster states
                final FleetStateStats stats = fleetCloud.update();
                info.add(new EC2FleetStatusInfo(
                        fleetCloud.getFleet(), stats.getState(), fleetCloud.getLabelString(),
                        stats.getNumActive(), stats.getNumDesired()));
            } catch (Exception e) {
                // could bad configuration or real exception, we can't do too much here
                LOGGER.log(Level.INFO, String.format("Error during fleet %s stats update", fleetCloud.name), e);
            }
        }

        for (final Widget w : getWidgets()) {
            if (w instanceof EC2FleetStatusWidget) ((EC2FleetStatusWidget) w).setStatusList(info);
        }
    }