Moti Asayag has uploaded a new change for review. Change subject: engine: Maintain a list of scheduled quartz job in VdsManager ......................................................................
engine: Maintain a list of scheduled quartz job in VdsManager The scheduled jobs of a host could be stored into a list to allow easier maintenance. Change-Id: I1efc1ad5a5ffca51f9e028b703905352ad92f88c Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java 1 file changed, 29 insertions(+), 35 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/40934/1 diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index cb03ee3..f17ca51 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -74,9 +74,7 @@ private long lastUpdate; private long updateStartTime; private long nextMaintenanceAttemptTime; - private String onTimerJobId; - private String vmsMonitoringJobId; - private String availableUpdatesJobId; + private List<String> registeredJobs; private int refreshIteration = 1; private boolean isSetNonOperationalExecuted; private MonitoringStrategy monitoringStrategy; @@ -98,7 +96,7 @@ mFailedToRunVmAttempts = new AtomicInteger(); monitoringLock = new EngineLock(Collections.singletonMap(vdsId.toString(), new Pair<>(LockingGroup.VDS_INIT.name(), "")), null); - + registeredJobs = new ArrayList<>(); handlePreviousStatus(); handleSecureSetup(); initVdsBroker(); @@ -132,40 +130,35 @@ // start with refresh statistics refreshIteration = numberRefreshesBeforeSave - 1; + registeredJobs.add(sched.scheduleAFixedDelayJob( + this, + "onTimer", + new Class[0], + new Object[0], + refreshRate, + refreshRate, + TimeUnit.MILLISECONDS)); - onTimerJobId = - sched.scheduleAFixedDelayJob( - this, - "onTimer", - new Class[0], - new Object[0], - refreshRate, - refreshRate, - TimeUnit.MILLISECONDS); - - vmsMonitoringJobId = - sched.scheduleAFixedDelayJob( - this, - "vmsMonitoring", - new Class[0], - new Object[0], - refreshRate, - refreshRate, - TimeUnit.MILLISECONDS); + registeredJobs.add(sched.scheduleAFixedDelayJob(this, + "vmsMonitoring", + new Class[0], + new Object[0], + refreshRate, + refreshRate, + TimeUnit.MILLISECONDS)); double availableUpdatesRefreshRate = Config.<Double> getValue(ConfigValues.HostPackagesUpdateTimeInHours); final int HOURS_TO_MINUTES = 60; long rateInMinutes = Math.round(availableUpdatesRefreshRate * HOURS_TO_MINUTES); - availableUpdatesJobId = - sched.scheduleAFixedDelayJob( - this, - "availableUpdates", - new Class[0], - new Object[0], - rateInMinutes, - rateInMinutes, - TimeUnit.MINUTES); + registeredJobs.add(sched.scheduleAFixedDelayJob( + this, + "availableUpdates", + new Class[0], + new Object[0], + rateInMinutes, + rateInMinutes, + TimeUnit.MINUTES)); } private void initVdsBroker() { @@ -798,9 +791,10 @@ public void dispose() { log.info("vdsManager::disposing"); - SchedulerUtilQuartzImpl.getInstance().deleteJob(onTimerJobId); - SchedulerUtilQuartzImpl.getInstance().deleteJob(vmsMonitoringJobId); - SchedulerUtilQuartzImpl.getInstance().deleteJob(availableUpdatesJobId); + for (String jobId : registeredJobs) { + SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + } + vdsProxy.close(); } -- To view, visit https://gerrit.ovirt.org/40934 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1efc1ad5a5ffca51f9e028b703905352ad92f88c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
