From d9e4bba015b7095673fe8d35315bff41bb1f6bcd Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 19 May 2008 12:54:16 +0100 Subject: [PATCH] getAllCounters: add rate limit (5 sec) --- functions.php | 32 +++++++++++++++++--------------- 1 file 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) {