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

Reply via email to