Exemplo n.º 1
0
    /**
     * Delete a queue and all of it's messages
     *
     * Returns false if the queue is not found, true if the queue exists
     *
     * @param  string  $name queue name
     * @return boolean
     * @throws Zend_Queue_Exception - database error
     */
    public function delete($name)
    {
        $id = $this->getQueueId($name); // get primary key

        // if the queue does not exist then it must already be deleted.
        $list = $this->_queueTable->find($id);
        if (count($list) === 0) {
            return false;
        }
        $queue = $list->current();

        if ($queue instanceof Zend_Db_Table_Row_Abstract) {
            try {
                $queue->delete();
            } catch (Exception $e) {
                require_once 'Zend/Queue/Exception.php';
                throw new Zend_Queue_Exception($e->getMessage(), $e->getCode(), $e);
            }
        }

        if (array_key_exists($name, $this->_queues)) {
            unset($this->_queues[$name]);
        }

        return true;
    }
Exemplo n.º 2
0
 /**
  * Delete a queue and all of it's messages
  *
  * @param  string  $name queue name
  * @return boolean True
  */
 public function delete($name)
 {
     $queue = $this->_queue->find($name)->current();
     if ($queue instanceof Zend_Db_Table_Row_Abstract) {
         try {
             $queue->delete();
         } catch (Exception $e) {
             /**
              * @see Zend_Queue_Adapter_Exception
              */
             require_once 'Zend/Queue/Adapter/Exception.php';
             throw new Zend_Queue_Adapter_Exception($e->getMessage(), $e->getCode());
         }
     }
     return true;
 }