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; }