Sfoglia il codice sorgente

HUE-5443 [metadata] Show basic progress of the history upload

Romain Rigaux 9 anni fa
parent
commit
a548b0d

+ 1 - 1
desktop/libs/metadata/src/metadata/optimizer_api.py

@@ -285,7 +285,7 @@ def upload_history(request):
   query_type = 'hive'
 
   queries = []
-  for doc in Document2.objects.get_history(doc_type='query-%s' % query_type, user=request.user)[:10]:
+  for doc in Document2.objects.get_history(doc_type='query-%s' % query_type, user=request.user):
     query_data = Notebook(document=doc).get_data()
 
     try:

+ 17 - 13
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -1398,26 +1398,30 @@ var EditorViewModel = (function() {
       $.post("/metadata/api/optimizer/upload_history", {
       }, function(data) {
         if (data.status == 0) {
-          $(document).trigger("info", "N Queries uploaded successfully");
+          $(document).trigger("info", "Queries uploaded successfully. Preparing them...");
+          self.watchUploadStatus(data.upload_history.status.workloadId);
         } else {
           $(document).trigger("error", data.message);
         }
       });
     };
 
-    self._getUploadStatus = function (workloadId) {
-        logGA('get_upload_status');
-
-        $.post("/metadata/api/optimizer/upload_status", {
-          workloadId: workloadId,
-        }, function(data) {
-          if (data.status == 0) {
-            $(document).trigger("info", data.upload_status.status.state);
-          } else {
-            $(document).trigger("error", data.message);
+    self.watchUploadStatus = function (workloadId) {
+      $.post("/metadata/api/optimizer/upload_status", {
+        workloadId: workloadId,
+      }, function(data) {
+        if (data.status == 0) {
+          $(document).trigger("info", data.upload_status.status.state);
+          if (['WAITING', 'IN_PROGRESS'].indexOf(data.upload_status.status.state) != -1) {
+            window.setTimeout(function () {
+              self._getUploadStatus(workloadId);
+            }, 1000);
           }
-        });
-      };
+        } else {
+          $(document).trigger("error", data.message);
+        }
+      });
+    };
 
     self.getSimilarQueries = function () {
       logGA('get_query_similarity');