DataObjects/Events.php
[Pman.Core] / Prune.php
index 9414f36..5b49bd9 100644 (file)
--- a/Prune.php
+++ b/Prune.php
@@ -34,7 +34,7 @@ class Pman_Core_Prune extends Pman
         return false;
     }
     
-    function get($m="", $opts)
+    function get($m="", $opts=array())
     {
         
         // prune irrelivant stuff..
@@ -48,13 +48,16 @@ class Pman_Core_Prune extends Pman
     {
         // 40 seconds ? to delete 100K records..
        // DB_DataObject::debugLevel(1);
-        $f = DB_DataObject::Factory('reader_article');
+       /*
+        $f = DB_DataObject::Factory('Events');
         $f->query("
             DELETE FROM Events where 
                   event_when < NOW() - INTERVAL {$inM} MONTH
+                  AND
+                  action != 'NOTIFY'
                   LIMIT 100000
         ");
-        
+        */
         // notificication events occur alot - so we should trash them more frequently..
       /*  $f = DB_DataObject::Factory('reader_article');
         $f->query("
@@ -67,8 +70,13 @@ class Pman_Core_Prune extends Pman
         */
         // rather than deleting them all, it's probably best to just delete notify events that occured to often.
         // eg. when we tried to deliver multiple times without success...
+        /*
+         *
+         SELECT on_id, on_table, min(id) as min_id, max(id) as max_id, count(*) as mm FROM Events
+         WHERE action = 'NOTIFY' and event_when < NOW() - INTERVAL 1 WEEK GROUP BY  on_id, on_table HAVING  mm > 2 ORDER BY mm desc;
+         */
         
-        
+        //DB_DataObject::debugLevel(1);
         $f = DB_DataObject::Factory('Events');
         $f->selectAdd();
         $f->selectAdd("on_id, on_table, min(id) as min_id, max(id) as max_id, count(*) as mm");
@@ -76,7 +84,7 @@ class Pman_Core_Prune extends Pman
         $f->groupBy('on_id, on_table');
         $f->having("mm > 2");
         $f->orderBy('mm desc') ;
-        $f->limit(1000);
+        $f->limit(10000);
         $ar = $f->fetchAll();
         foreach($ar as $f) {
             $q = DB_DataObject::Factory('Events');
@@ -87,7 +95,9 @@ class Pman_Core_Prune extends Pman
                   AND
                   on_table = '{$q->escape($f->on_table)}'
                   AND
-                  id > {$f->min_id} AND id < {$f->max_id}
+                  id > {$f->min_id}
+                  AND
+                  id < {$f->max_id}
             ");
         }