You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2013/02/14 20:57:52 UTC
[1/50] [abbrv] git commit: refs/heads/qemu-img - CLOUDSTACK-618:
cloudstack UI - API request throttling - for async job action,
make frequency of calling queryAsyncJobResult API based on listCapabilities
response.
CLOUDSTACK-618: cloudstack UI - API request throttling - for async job action, make frequency of calling queryAsyncJobResult API based on listCapabilities response.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/06a733a8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/06a733a8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/06a733a8
Branch: refs/heads/qemu-img
Commit: 06a733a89fe67ea700505c5efccbe16c1ed6d7a0
Parents: 4869f0c
Author: Jessica Wang <je...@citrix.com>
Authored: Tue Feb 12 15:50:58 2013 -0800
Committer: Jessica Wang <je...@citrix.com>
Committed: Tue Feb 12 16:00:48 2013 -0800
----------------------------------------------------------------------
ui/scripts/cloudStack.js | 16 +++++++++++++++-
ui/scripts/sharedFunctions.js | 1 +
ui/scripts/ui/widgets/notifications.js | 4 ++--
3 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/06a733a8/ui/scripts/cloudStack.js
----------------------------------------------------------------------
diff --git a/ui/scripts/cloudStack.js b/ui/scripts/cloudStack.js
index fab6f7d..6981366 100644
--- a/ui/scripts/cloudStack.js
+++ b/ui/scripts/cloudStack.js
@@ -157,6 +157,13 @@
g_cloudstackversion = json.listcapabilitiesresponse.capability.cloudstackversion;
+ if(json.listcapabilitiesresponse.capability.apilimitinterval != null && json.listcapabilitiesresponse.capability.apilimitmax != null) {
+ var intervalLimit = ((json.listcapabilitiesresponse.capability.apilimitinterval * 1000) / json.listcapabilitiesresponse.capability.apilimitmax ) * 3; //multiply 3 to be on safe side
+ //intervalLimit = 9999; //this line is for testing only, comment it before check in
+ if(intervalLimit > g_queryAsyncJobResultInterval)
+ g_queryAsyncJobResultInterval = intervalLimit;
+ }
+
userValid = true;
},
error: function(xmlHTTP) {
@@ -283,7 +290,14 @@
$.cookie('userProjectsEnabled', g_userProjectsEnabled, { expires: 1 });
g_cloudstackversion = json.listcapabilitiesresponse.capability.cloudstackversion;
-
+
+ if(json.listcapabilitiesresponse.capability.apilimitinterval != null && json.listcapabilitiesresponse.capability.apilimitmax != null) {
+ var intervalLimit = ((json.listcapabilitiesresponse.capability.apilimitinterval * 1000) / json.listcapabilitiesresponse.capability.apilimitmax ) * 3; //multiply 3 to be on safe side
+ //intervalLimit = 8888; //this line is for testing only, comment it before check in
+ if(intervalLimit > g_queryAsyncJobResultInterval)
+ g_queryAsyncJobResultInterval = intervalLimit;
+ }
+
args.response.success({
data: {
user: $.extend(true, {}, loginresponse, {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/06a733a8/ui/scripts/sharedFunctions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js
index 51c4fdb..026089f 100644
--- a/ui/scripts/sharedFunctions.js
+++ b/ui/scripts/sharedFunctions.js
@@ -26,6 +26,7 @@ var g_timezone = null;
var g_supportELB = null;
var g_userPublicTemplateEnabled = "true";
var g_cloudstackversion = null;
+var g_queryAsyncJobResultInterval = 6000;
//keyboard keycode
var keycode_Enter = 13;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/06a733a8/ui/scripts/ui/widgets/notifications.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui/widgets/notifications.js b/ui/scripts/ui/widgets/notifications.js
index e98d4d8..0299603 100644
--- a/ui/scripts/ui/widgets/notifications.js
+++ b/ui/scripts/ui/widgets/notifications.js
@@ -93,7 +93,7 @@
$total.parent().addClass('pending');
$item.addClass('pending');
- // Setup timer
+ // Setup timer
var pollTimer = setInterval(function() {
args.poll({
_custom: _custom,
@@ -281,7 +281,7 @@
cloudStack.ui.event.call('addNotification', {
section: notification.section,
desc: notification.desc,
- interval: notification.interval ? notification.interval : 5000,
+ interval: notification.interval ? notification.interval : g_queryAsyncJobResultInterval,
_custom: notification._custom,
poll: function(args) {
var complete = args.complete;