summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-05-19 12:54:16 +0100
committerAndrew Dolgov <[email protected]>2008-05-19 12:54:16 +0100
commitd9e4bba015b7095673fe8d35315bff41bb1f6bcd (patch)
tree384b3b186ab2734a8da9148ed5867a1cd4be42f8
parent4d0b36070a3d78252debb472b782d48b1b087341 (diff)
getAllCounters: add rate limit (5 sec)
-rw-r--r--functions.php32
1 files changed, 17 insertions, 15 deletions
diff --git a/functions.php b/functions.php
index 87932e954..48caab061 100644
--- a/functions.php
+++ b/functions.php
@@ -2199,26 +2199,28 @@
}
function getAllCounters($link, $omode = "flc", $active_feed = false) {
-/* getLabelCounters($link);
- getFeedCounters($link);
- getTagCounters($link);
- getGlobalCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- } */
- if (!$omode) $omode = "flc";
+ /* getting all counters is a resource intensive operation, so we
+ * rate limit it a little bit */
- getGlobalCounters($link);
+ if (time() - $_SESSION["get_all_counters_stamp"] > 5) {
- if (strchr($omode, "l")) getLabelCounters($link);
- if (strchr($omode, "f")) getFeedCounters($link, SMART_RPC_COUNTERS, $active_feed);
- if (strchr($omode, "t")) getTagCounters($link);
- if (strchr($omode, "c")) {
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
+ if (!$omode) $omode = "flc";
+
+ getGlobalCounters($link);
+
+ if (strchr($omode, "l")) getLabelCounters($link);
+ if (strchr($omode, "f")) getFeedCounters($link, SMART_RPC_COUNTERS, $active_feed);
+ if (strchr($omode, "t")) getTagCounters($link);
+ if (strchr($omode, "c")) {
+ if (get_pref($link, 'ENABLE_FEED_CATS')) {
+ getCategoryCounters($link);
+ }
}
+
+ $_SESSION["get_all_counters_stamp"] = time();
}
+
}
function getCategoryCounters($link) {