summaryrefslogtreecommitdiff
path: root/scripts/triminboxes.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-01-01 11:27:28 -1000
committerEvan Prodromou <evan@status.net>2010-01-01 11:27:28 -1000
commitd2bbf65f1915e259343b32934fa50cd693dbda26 (patch)
treef813368282c14c80ee1fa3c1eebc3b0fd4a8d57a /scripts/triminboxes.php
parent79c2e3f7202aa652414df885bd4c917a316ea7f3 (diff)
parent89cca01259d71f3da961ef64def3647f86a01567 (diff)
Merge branch 'master' of git@gitorious.org:statusnet/mainline
Diffstat (limited to 'scripts/triminboxes.php')
-rw-r--r--scripts/triminboxes.php24
1 files changed, 22 insertions, 2 deletions
diff --git a/scripts/triminboxes.php b/scripts/triminboxes.php
index da09817e5..ea4751305 100644
--- a/scripts/triminboxes.php
+++ b/scripts/triminboxes.php
@@ -21,19 +21,21 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'u::';
-$longoptions = array('start-user-id::');
+$longoptions = array('start-user-id=', 'sleep-time=');
$helptext = <<<END_OF_TRIM_HELP
Batch script for trimming notice inboxes to a reasonable size.
-u <id>
--start-user-id=<id> User ID to start after. Default is all.
+ --sleep-time=<integer> Amount of time to wait (in seconds) between trims. Default is zero.
END_OF_TRIM_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
$id = null;
+$sleep_time = 0;
if (have_option('u')) {
$id = get_option_value('u');
@@ -43,6 +45,12 @@ if (have_option('u')) {
$id = null;
}
+if (have_option('--sleep-time')) {
+ $sleep_time = intval(get_option_value('--sleep-time'));
+}
+
+$quiet = have_option('q') || have_option('--quiet');
+
$user = new User();
if (!empty($id)) {
@@ -52,5 +60,17 @@ if (!empty($id)) {
$cnt = $user->find();
while ($user->fetch()) {
- Notice_inbox::gc($user->id);
+ if (!$quiet) {
+ print "Trimming inbox for user $user->id";
+ }
+ $count = Notice_inbox::gc($user->id);
+ if ($count) {
+ if (!$quiet) {
+ print ": $count trimmed...";
+ }
+ sleep($sleep_time);
+ }
+ if (!$quiet) {
+ print "\n";
+ }
}