From: Alan Knowles Date: Wed, 9 Dec 2015 09:22:43 +0000 (+0800) Subject: Prune.php X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=80358ca2763129a65cbc32d98eb54a08894189d1 Prune.php --- diff --git a/Prune.php b/Prune.php index a63daac8..594181c7 100644 --- a/Prune.php +++ b/Prune.php @@ -69,6 +69,32 @@ class Pman_Core_Prune extends Pman // 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..