Pārlūkot izejas kodu

HUE-6325 [jb] Reload workflow graph on re-run

Enrico Berti 8 gadi atpakaļ
vecāks
revīzija
669dba0

+ 3 - 1
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -1440,6 +1440,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
 
       self.updateJob = function () {console.log('update job', vm.isMini());
         vm.apiHelper.cancelActiveRequest(lastUpdateJobRequest);
+        huePubSub.publish('graph.refresh.view');
 
         if (vm.job() == self && self.apiStatus() == 'RUNNING') {
           lastFetchJobRequest = self._fetchJob(function (data) {
@@ -1571,7 +1572,8 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
             url: "/oozie/list_oozie_workflow/" + vm.job().id(),
             data: {
               'graph': true,
-              'element': 'workflow-page-graph'
+              'element': 'workflow-page-graph',
+              'is_jb2': true
             },
             beforeSend: function (xhr) {
               xhr.setRequestHeader("X-Requested-With", "Hue");

+ 4 - 0
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_graph.mako

@@ -117,12 +117,14 @@ ${ dashboard.import_layout() }
                 });
               %endif
             }
+            %if not is_jb2:
             if (data.status != "RUNNING" && data.status != "PREP") {
               return;
             }
             else {
               refreshViewTimeout = window.setTimeout(refreshView, 1000);
             }
+            %endif
           });
         }
         else {
@@ -130,6 +132,8 @@ ${ dashboard.import_layout() }
         }
       }
 
+      huePubSub.subscribe('graph.refresh.view', refreshView);
+
       huePubSub.subscribe('graph.stop.refresh.view', function(){
         window.clearTimeout(refreshViewTimeout);
         huePubSub.removeAll('graph.draw.arrows');

+ 2 - 1
apps/oozie/src/oozie/views/dashboard.py

@@ -406,7 +406,8 @@ def list_oozie_workflow(request, job_id):
       'doc_uuid': doc.uuid if doc else '',
       'graph_element_id': request.GET.get('element') if request.GET.get('element') else 'loaded ' + doc.uuid + ' graph',
       'subworkflows_json': json.dumps(_get_workflows(request.user), cls=JSONEncoderForHTML),
-      'can_edit_json': json.dumps(doc is None or doc.doc.get().is_editable(request.user))
+      'can_edit_json': json.dumps(doc is None or doc.doc.get().is_editable(request.user)),
+      'is_jb2': request.GET.get('is_jb2', False)
     })
 
   oozie_slas = []