示例#1
0
 /**
  * Remove all queues 
  * 
  * @return void
  */
 protected function doActionRemoveQueues()
 {
     if (\XLite\Core\EventDriver\AMQP::isValid()) {
         $driver = new \XLite\Core\EventDriver\AMQP();
         foreach (\XLite\Core\EventListener::getInstance()->getEvents() as $name) {
             $this->printContent($name . ' ... ');
             $result = false;
             try {
                 $driver->getChannel()->queue_delete($name);
                 $result = true;
             } catch (\Exception $e) {
                 $driver->getChannel(true);
             }
             if ($result) {
                 $this->printContent('done' . PHP_EOL);
             } else {
                 $this->printContent('failed' . PHP_EOL);
             }
         }
     }
 }
示例#2
0
 /**
  * Get driver 
  * 
  * @return \XLite\Core\EventDriver\AMQP
  */
 protected function getDriver()
 {
     if (!isset($this->driver)) {
         $this->driver = \XLite\Core\EventDriver\AMQP::isValid() ? new \XLite\Core\EventDriver\AMQP() : false;
     }
     return $this->driver;
 }
示例#3
0
文件: AMQP.php 项目: kingsj/core
 public function testGetCode()
 {
     $this->markTestSkipped('Skipped due to E:41209');
     $this->assertEquals('amqp', \XLite\Core\EventDriver\AMQP::getCode(), 'check driver code');
 }
示例#4
0
 * @copyright Copyright (c) 2011 Creative Development LLC <*****@*****.**>. All rights reserved
 * @license   http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
 * @link      http://www.litecommerce.com/
 * @see       ____file_see____
 * @since     1.0.19
 */
/**
 * ./amqp-publish.php queue_name json_encoded_array 
 */
define('PATH_SRC', __DIR__ . '/../src');
require_once PATH_SRC . '/top.inc.php';
if (PHP_SAPI != 'cli') {
    echo 'Only CLI!' . PHP_WOL;
    die(1);
}
if (!\XLite\Core\EventDriver\AMQP::isValid()) {
    echo 'Connection to AMPQ server failed' . PHP_EOL;
    die(3);
}
array_shift($_SERVER['argv']);
$queue = @array_shift($_SERVER['argv']);
$data = @array_shift($_SERVER['argv']);
if (!$queue) {
    echo 'Queue name is empty!' . PHP_EOL;
    die(2);
}
echo 'Publish \'' . $queue . '\' task ... ';
$driver = new \XLite\Core\EventDriver\AMQP();
$result = $driver->fire($queue, $data ? json_decode($data, true) : array());
echo ($result ? 'done' : 'failed') . PHP_EOL;
die(0);