Issue #2636 Try Catch around the MaintTask

Change-Id: Iaca03724231970f2bd96f209f88e936b06991285

Former-commit-id: cd7934e12f [formerly 542ba7e504] [formerly c4bed432da] [formerly 49f6c31256 [formerly c4bed432da [formerly 60c9027b219f3de7193320e5a55911c740e58f30]]]
Former-commit-id: 49f6c31256
Former-commit-id: de3f95e5f61e7ea15849603d3138b155fe401280 [formerly 445b55f796]
Former-commit-id: 3b9f80d03e
This commit is contained in:
Dave Hladky 2014-02-21 14:43:41 -06:00
parent 5d5518e29f
commit e15d2f50f9

View file

@ -126,6 +126,7 @@ import com.raytheon.uf.edex.datadelivery.util.DataDeliveryIdUtil;
* because of efficiency.
* Feb 11, 2014 2771 bgonzale Use Data Delivery ID instead of Site.
* Feb 10, 2014 2636 mpduff Pass Network map to be scheduled.
* Feb 21, 2014, 2636 dhladky Try catch to keep MaintTask from dying.
* </pre>
*
* @author djohnson
@ -837,6 +838,9 @@ public abstract class EdexBandwidthManager<T extends Time, C extends Coverage>
private class MaintenanceTask implements Runnable {
@Override
public void run() {
try {
IPerformanceTimer timer = TimeUtil.getPerformanceTimer();
timer.start();
statusHandler.info("MaintenanceTask starting...");
@ -844,7 +848,8 @@ public abstract class EdexBandwidthManager<T extends Time, C extends Coverage>
for (RetrievalPlan plan : retrievalManager.getRetrievalPlans()
.values()) {
if (statusHandler.isPriorityEnabled(Priority.DEBUG)) {
statusHandler.info("MaintenanceTask: " + plan.getNetwork());
statusHandler.info("MaintenanceTask: "
+ plan.getNetwork());
statusHandler.info("MaintenanceTask: planStart: "
+ plan.getPlanStart().getTime());
statusHandler.info("MaintenanceTask: planEnd: "
@ -852,15 +857,16 @@ public abstract class EdexBandwidthManager<T extends Time, C extends Coverage>
}
plan.resize();
if (statusHandler.isPriorityEnabled(Priority.DEBUG)) {
statusHandler.info("MaintenanceTask: resized planStart: "
statusHandler
.info("MaintenanceTask: resized planStart: "
+ plan.getPlanStart().getTime());
statusHandler.info("MaintenanceTask: resized planEnd: "
+ plan.getPlanEnd().getTime());
statusHandler.info("MaintenanceTask: Update schedule");
}
// Find DEFERRED Allocations and load them into the plan...
List<BandwidthAllocation> deferred = bandwidthDao.getDeferred(
plan.getNetwork(), plan.getPlanEnd());
List<BandwidthAllocation> deferred = bandwidthDao
.getDeferred(plan.getNetwork(), plan.getPlanEnd());
if (!deferred.isEmpty()) {
retrievalManager.schedule(deferred);
}
@ -875,6 +881,10 @@ public abstract class EdexBandwidthManager<T extends Time, C extends Coverage>
statusHandler.info("MaintenanceTask complete: "
+ timer.getElapsed() + " - " + numSubsProcessed
+ " Subscriptions processed.");
} catch (Throwable t) {
statusHandler.error("MaintenanceTask: Subscription update scheduling has failed", t);
}
}
}
}