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);
}
}