You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2014/02/24 15:14:43 UTC

git commit: AMBARI-4801. Jobs and Job pages should refresh in background every 6s. (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk ce202e3b1 -> 44619ac77


AMBARI-4801. Jobs and Job pages should refresh in background every 6s. (alexantonenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/44619ac7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/44619ac7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/44619ac7

Branch: refs/heads/trunk
Commit: 44619ac7745b274f0d41fb22045fbfffb97f8ed5
Parents: ce202e3
Author: Alex Antonenko <hi...@gmail.com>
Authored: Mon Feb 24 16:12:37 2014 +0200
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Mon Feb 24 16:12:37 2014 +0200

----------------------------------------------------------------------
 .../main/jobs/hive_job_details_controller.js           | 13 +++++++------
 ambari-web/app/controllers/main/jobs_controller.js     | 11 +++++++++++
 ambari-web/app/routes/main.js                          |  9 +++++++--
 ambari-web/app/utils/jobs.js                           |  2 +-
 4 files changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/44619ac7/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js b/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
index 5962af1..e04392f 100644
--- a/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
+++ b/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
@@ -24,23 +24,24 @@ App.MainHiveJobDetailsController = Em.Controller.extend({
   content : null,
   loaded : false,
   loadTimeout: null,
+  job: null,
 
-  loadJobDetails : function(job) {
+  loadJobDetails : function() {
     var self = this;
     var timeout = this.get('loadTimeout');
     var yarnService = App.YARNService.find().objectAt(0);
     if (yarnService != null) {
-      var self = this;
-      this.set('loaded', false);
-      if (job != null) {
-        jobsUtils.refreshJobDetails(job, function() {
+      var content = this.get('content');
+      if (content != null) {
+        jobsUtils.refreshJobDetails(content, function() {
+          self.set('content', self.get('job'));
           self.set('loaded', true);
         });
       }
     }else{
       clearTimeout(timeout);
       timeout = setTimeout(function(){
-        self.loadJobDetails(job);
+        self.loadJobDetails();
       }, 300);
     }
   },

http://git-wip-us.apache.org/repos/asf/ambari/blob/44619ac7/ambari-web/app/controllers/main/jobs_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/jobs_controller.js b/ambari-web/app/controllers/main/jobs_controller.js
index 4fc19de..e92f6c8 100644
--- a/ambari-web/app/controllers/main/jobs_controller.js
+++ b/ambari-web/app/controllers/main/jobs_controller.js
@@ -27,6 +27,17 @@ App.MainJobsController = Em.ArrayController.extend({
   loaded : false,
   loading : false,
   loadJobsTimeout: null,
+  jobsUpdateInterval: 6000,
+  jobsUpdate: null,
+
+  updateJobs: function (controllerName, funcName) {
+    clearInterval(this.get('jobsUpdate'));
+    var self = this;
+    var interval = setInterval(function () {
+      App.router.get(controllerName)[funcName]();
+    }, this.jobsUpdateInterval);
+    this.set('jobsUpdate', interval);
+  },
 
   totalOfJobs: 0,
   setTotalOfJobs: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/44619ac7/ambari-web/app/routes/main.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index 255955d..dc7cbf5 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -126,6 +126,9 @@ module.exports = Em.Route.extend({
         });
       }
     },
+    exit: function(router) {
+      clearInterval(router.get('mainJobsController').jobsUpdate);
+    },
     index: Ember.Route.extend({
       route: '/',
       connectOutlets : function(router) {
@@ -135,6 +138,7 @@ module.exports = Em.Route.extend({
           });
         } else {
           router.get('mainJobsController').loadJobs();
+          router.get('mainJobsController').updateJobs('mainJobsController', 'refreshLoadedJobs');
           router.get('mainController').connectOutlet('mainJobs');
         }
       }
@@ -143,8 +147,9 @@ module.exports = Em.Route.extend({
       route : '/:job_id',
       connectOutlets : function(router, job) {
         if (job) {
-          router.get('mainHiveJobDetailsController').loadJobDetails(job);
-          router.get('mainController').connectOutlet('mainHiveJobDetails');
+          router.get('mainController').connectOutlet('mainHiveJobDetails', job);
+          router.get('mainHiveJobDetailsController').loadJobDetails();
+          router.get('mainJobsController').updateJobs('mainHiveJobDetailsController', 'loadJobDetails');
         }
       }
     }),

http://git-wip-us.apache.org/repos/asf/ambari/blob/44619ac7/ambari-web/app/utils/jobs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/jobs.js b/ambari-web/app/utils/jobs.js
index c8e51da..eb89a41 100644
--- a/ambari-web/app/utils/jobs.js
+++ b/ambari-web/app/utils/jobs.js
@@ -52,7 +52,7 @@ module.exports = {
       complete : function(jqXHR, textStatus) {
         // Now get the Tez DAG ID from the DAG name
         var hiveRecord = App.HiveJob.find(hiveJobId);
-        App.router.get('mainHiveJobDetailsController').set('content', hiveRecord);
+        App.router.get('mainHiveJobDetailsController').set('job', hiveRecord);
         var tezDagName = hiveRecord.get('tezDag.name');
         if (tezDagName != null) {
           var sender = {