DataObjects/Core_person_signup.php
[Pman.Core] / Notify.php
index 975154e..b564f4a 100644 (file)
@@ -42,7 +42,7 @@ class Pman_Core_Notify extends Pman
             
         ),
         'old' => array(
-            'desc' => 'Show old messages..',
+            'desc' => 'Show old messages.. (and new messages...)',
             'default' => 0,
             'short' => 'o',
             'min' => 0,
@@ -134,7 +134,7 @@ class Pman_Core_Notify extends Pman
         if (empty($opts['limit'])) {
             $opts['limit'] = '1000'; // not sure why it's not picking up the defautl..
         }
-        $showold = !empty($opts['old']);
+        
         if (!empty($opts['old'])) {
             $opts['list'] = 1; // force listing..
         }
@@ -173,9 +173,13 @@ class Pman_Core_Notify extends Pman
         //DB_DataObject::debugLevel(1);
         $w = DB_DataObject::factory($this->table);
         
-        
-        if (!$showold) {
+        if (!empty($opts['old'])) {
+            // show old and new...
+            
+            $w->orderBy('act_when DESC'); // latest first
+            $w->limit($opts['limit']); // we can run 
             
+        } else {   
             // standard
             
             //$w->whereAdd('act_when > sent'); // eg.. sent is not valid..
@@ -190,11 +194,9 @@ class Pman_Core_Notify extends Pman
             
             $this->logecho("QUEUE is {$w->count()}");
             
-            $w->limit($opts['limit']); // we can run 1000 ...
-        } else {
-            $w->orderBy('act_when DESC'); // latest first
             $w->limit($opts['limit']); // we can run 1000 ...
         }
+        
         if (!empty($this->evtype)) {
             $w->evtype = $this->evtype;
         }
@@ -350,6 +352,7 @@ class Pman_Core_Notify extends Pman
                 'cmd' => $cmd,
                 'email' => $email,
                 'pipes' => $pipes,
+                'notify_id' => $id,
                 'started' => time()
             
                 
@@ -390,6 +393,14 @@ class Pman_Core_Notify extends Pman
                     $this->logecho("TERMINATING: ({$p['pid']}) " . $p['cmd'] . " : " . file_get_contents($p['out']));
                     @unlink($p['out']);
                     
+                    $w = DB_DataObject::factory($this->table);
+                    $w->get($p['notify_id']);
+                    $ww = clone($w);
+                    $this->addEvent('NOTIFY', $w, 'TERMINATED - TIMEOUT');
+                    $w->act_when = date('Y-m-d H:i:s', strtotime('NOW + 30  MINUTES'));
+                    $w->update($ww);
+                    
+                    
                     continue;
                 }