예제 #1
0
 function _fail($object, $queue)
 {
     // XXX: right now, we only handle notices
     $notice = $object;
     $qi = Queue_item::pkeyGet(array('notice_id' => $notice->id, 'transport' => $queue));
     if (empty($qi)) {
         $this->_log(LOG_INFO, 'Cannot find queue item for notice ' . $notice->id . ', queue ' . $queue);
     } else {
         if (empty($qi->claimed)) {
             $this->_log(LOG_WARNING, 'Ignoring failure for unclaimed queue item ' . 'for ' . $notice->id . ', queue ' . $queue);
         } else {
             $orig = clone $qi;
             $qi->claimed = null;
             $qi->update($orig);
             $qi = null;
         }
     }
     $this->_log(LOG_INFO, 'done with notice ID = ' . $notice->id);
     $notice->free();
     $notice = null;
 }