summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-07-16 00:26:51 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-07-16 00:26:51 -0400
commit83cbf246a871edc8da34a742af3b0ea37e100688 (patch)
treea0cc428155e8ca8e796a92da75ac76538383984d
parentda512ad8c2b4cba719204d8a8f42ecba9716702e (diff)
use a soft limit so there's not a whole bunch of deletes on every write
-rw-r--r--classes/Notice.php4
-rw-r--r--classes/Notice_inbox.php1
2 files changed, 4 insertions, 1 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index e16d84352..0359c310d 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -875,7 +875,9 @@ class Notice extends Memcached_DataObject
}
$qry .= '('.$id.', '.$this->id.', '.$source.', "'.$this->created.'") ';
$cnt++;
- Notice_inbox::gc($id);
+ if (rand() % NOTICE_INBOX_SOFT_LIMIT == 0) {
+ Notice_inbox::gc($id);
+ }
if ($cnt >= MAX_BOXCARS) {
$inbox = new Notice_inbox();
$inbox->query($qry);
diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php
index a1aa9b054..2af34b1a4 100644
--- a/classes/Notice_inbox.php
+++ b/classes/Notice_inbox.php
@@ -27,6 +27,7 @@ define('INBOX_CACHE_WINDOW', 101);
define('NOTICE_INBOX_GC_BOXCAR', 128);
define('NOTICE_INBOX_GC_MAX', 12800);
define('NOTICE_INBOX_LIMIT', 1000);
+define('NOTICE_INBOX_SOFT_LIMIT', 1000);
define('NOTICE_INBOX_SOURCE_SUB', 1);
define('NOTICE_INBOX_SOURCE_GROUP', 2);