diff options
author | Andrew Dolgov <[email protected]> | 2008-05-20 16:59:42 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2008-05-20 16:59:42 +0100 |
commit | 997d9d7cad31d5fdd3d054b95bd952a6f0367be9 (patch) | |
tree | 4aa91fd9ab8dfba8de3688d3386751932b9f7543 /feedlist.js | |
parent | 5aaf9b34e43c90dfc3b95731d71f4d598251a321 (diff) |
view: request counters in background, request_counters(): add client rate limit
Diffstat (limited to 'feedlist.js')
-rw-r--r-- | feedlist.js | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/feedlist.js b/feedlist.js index df30a6107..b4a0e8832 100644 --- a/feedlist.js +++ b/feedlist.js @@ -496,7 +496,7 @@ function mouse_up_handler(e) { } } -function request_counters() { +function request_counters_real() { try { var query = "backend.php?op=rpc&subop=getAllCounters"; @@ -517,6 +517,28 @@ function request_counters() { } }); } catch (e) { + exception_error("request_counters_real", e); + } +} + +var counters_last_request = 0; + +function request_counters() { + + try { + + var date = new Date(); + var timestamp = Math.round(date.getTime() / 1000); + + if (timestamp - counters_last_request > 10) { + debug("scheduling request of counters..."); + window.setTimeout("request_counters_real()", 100); + counters_last_request = timestamp; + } else { + debug("request_counters: rate limit reached: " + (timestamp - counters_last_request)); + } + + } catch (e) { exception_error("request_counters", e); } } |