[pve-devel] [PATCH widget-toolkit] reduce syslog api calls

Dominik Csapak d.csapak at proxmox.com
Tue Apr 30 15:03:35 CEST 2019


do not poll the syslog api call multiple times simultaneously,
since it can be very costly, depending on the journal size

with this, there is always only one per client

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 panel/LogView.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/panel/LogView.js b/panel/LogView.js
index fe8d274..aae7440 100644
--- a/panel/LogView.js
+++ b/panel/LogView.js
@@ -73,6 +73,7 @@ Ext.define('Proxmox.panel.LogView', {
 
 	doLoad: function() {
 	    var me = this;
+	    me.running = true;
 	    var view = me.getView();
 	    var viewModel = me.getViewModel();
 	    Proxmox.Utils.API2Request({
@@ -94,6 +95,7 @@ Ext.define('Proxmox.panel.LogView', {
 
 		    lines.length = total;
 		    me.updateView(lines.join('<br>'), first - 1, total);
+		    me.running = false;
 		},
 		failure: function(response) {
 		    if (view.failCallback) {
@@ -102,6 +104,7 @@ Ext.define('Proxmox.panel.LogView', {
 			var msg = response.htmlStatus;
 			Proxmox.Utils.setErrorMask(me, msg);
 		    }
+		    me.running = false;
 		}
 	    });
 	},
@@ -153,7 +156,9 @@ Ext.define('Proxmox.panel.LogView', {
 		    }
 
 		    if (me.scrollPosBottom() <= 1) {
-			view.loadTask.delay(200);
+			if (!me.running) {
+			    view.loadTask.delay(200);
+			}
 		    }
 		},
 		interval: 1000
-- 
2.11.0





More information about the pve-devel mailing list