X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Notify.php;h=fd582092af5a14fa15dae313ff2f70dba6e54320;hp=19413eb3be4b63388cbbd9b49122089ec9e65609;hb=HEAD;hpb=f4d74dbef73c39825720b1beaf7c0f090f06f986 diff --git a/Notify.php b/Notify.php index 19413eb3..3fd4c5b4 100644 --- a/Notify.php +++ b/Notify.php @@ -178,6 +178,12 @@ class Pman_Core_Notify extends Pman function get($r,$opts=array()) { + + // if ($this->database_is_locked()) { + // die("LATER - DATABASE IS LOCKED"); + //} + + $this->parseArgs($opts); //date_default_timezone_set('UTC'); @@ -225,6 +231,7 @@ class Pman_Core_Notify extends Pman if (!$this->force) { $w->whereAdd('act_when < NOW()'); // eg.. not if future.. } + $w->orderBy('act_when ASC'); // oldest first. $total = min($w->count(), $opts['limit']); @@ -293,11 +300,14 @@ class Pman_Core_Notify extends Pman $black = $this->server->isBlacklisted($email); if ($black !== false) { - + $this->logecho("Blacklisted - try giving it to next server"); if (false === $this->server->updateNotifyToNextServer($p)) { $ev = $this->addEvent('NOTIFY', $p, 'BLACKLISTED FROM our DB'); - $this->server->updateNotifyToNextServer($w, strtotime('NOW + 5 MINUTES'),true); + // we dont have an althenative server to update it with. + $this->logecho("Blacklisted - next server did not work - try again in 30 mins"); + $this->server->updateNotifyToNextServer($w, date("Y-m-d H:i:s", strtotime('NOW + 30 MINUTES')),true); // $this->errorHandler( $ev->remarks); + } continue; @@ -524,8 +534,7 @@ class Pman_Core_Notify extends Pman //fclose($p['pipes'][1]); proc_close($p['proc']); - proc_terminate($p['proc'], 9); - sleep(1); + sleep(1); clearstatcache(); if (file_exists('/proc/'. $p['pid'])) { $this->logecho("proc PID={$p['pid']} still here - trying to wait"); @@ -610,6 +619,7 @@ class Pman_Core_Notify extends Pman function clearOld() { if ($this->server->isFirstServer()) { + $p = DB_DataObject::factory($this->table); $p->whereAdd(" sent < '2000-01-01'