");
// notificication events occur alot - so we should trash them more frequently..
- $f = DB_DataObject::Factory('reader_article');
+ /* $f = DB_DataObject::Factory('reader_article');
$f->query("
DELETE FROM Events where
event_when < NOW() - INTERVAL 1 MONTH
action IN ('NOTIFY')
LIMIT 100000
");
-
+ */
// 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...
+ $f = DB_DataObject::Factory('Events');
+ $f->selectAdd();
+ $f->selectAdd("on_id, min(id) as min_id, max(id) as max_id, count(*) as mm");
+ $f->whereAdd("action = 'NOTIFY' and event_when < NOW() - INTERVAL 2 WEEK");
+ $f->groupBy('on_id');
+ $f->having("mm > 2");
+ $f->orderBy('mm desc') ;
+ $f->limit(1000);
+ $ar = $f->fetchAll();
+ foreach($ar as $f) {
+ $f = DB_DataObject::Factory('Events');
+ $f->query("DELETE FROM Events where
+ action = 'NOTIFY'
+ AND
+ event_when < NOW() - INTERVAL 2 WEEK
+ AND
+ on_id = {$f->on_id}
+ AND
+ id > {$f->min_id} AND id < {$f->max_id}
+ ");
+ }
+
+
+
+
+
// pruning is for our press project - so we do not clean up dependant tables at present..