Ejemplo n.º 1
0
 /**
  * @param $queue
  * @return QueueElement|bool
  */
 public function dequeue($queue)
 {
     $dbConnect = Db::getConnect();
     $dbConnect->beginTransaction();
     try {
         $query = Db::getConnect()->prepare("\n\t\t\t\tselect *\n\t\t\t\tfrom queue\n\t\t\t\twhere queue_name = :queue_name\n\t\t\t\tORDER  BY id\n\t\t\t\tlimit 1 FOR UPDATE\n\t \t\t");
         $query->bindParam(':queue_name', $queue);
         $query->execute();
         $elementArray = $query->fetchAll();
         $element = false;
         if (!empty($elementArray)) {
             $element = new QueueElement();
             $element->setQueueName($elementArray[0]['queue_name']);
             $element->setFileUrl($elementArray[0]['file_url']);
             $element->setStatus($elementArray[0]['status']);
             $queryDelete = Db::getConnect()->prepare("\n\t\t\t\t\tdelete from queue where id = :id\n\t \t\t\t");
             $queryDelete->bindParam(':id', $elementArray[0]['id']);
             $queryDelete->execute();
         }
         $dbConnect->commit();
     } catch (\Exception $e) {
         $dbConnect->rollBack();
         $element = false;
     }
     return $element;
 }
Ejemplo n.º 2
0
 public function run($args)
 {
     $db = Db::getConnect();
     $res = $db->exec('CREATE TABLE IF NOT EXISTS queue (
                   id INT NOT NULL AUTO_INCREMENT,
                   file_url VARCHAR (255),
                   status INT,
                   queue_name VARCHAR (255),
                   PRIMARY KEY (id), KEY idx_queue_status (queue_name, status)
                 )
                 ENGINE=MyISAM;
                 ');
     if ($res !== false) {
         echo "application installed\n\r";
     } else {
         echo "Something went wrong. Check the configuration.\n\r";
     }
 }