diff --git a/AmqpHelper.php b/AmqpHelper.php index 7274a25..296a6bf 100644 --- a/AmqpHelper.php +++ b/AmqpHelper.php @@ -23,26 +23,26 @@ class AmqpHelper public function getController($queue) { - $key = json_encode($queue); + $key = json_encode($queue); if (!isset(self::$connection[$key])) { $credentials = ['heartbeat' => $queue['heartbeat']] ; - self::$connection = new \AMQPConnection($credentials); - self::$connection->setLogin(Yii::$app->params['amqp']['login']); - self::$connection->setPassword(Yii::$app->params['amqp']["pass"]); - self::$connection->setHost(Yii::$app->params['amqp']["serverName"]); - self::$connection->setPort(Yii::$app->params['amqp']["port"]); - self::$connection->setVhost(Yii::$app->params['amqp']["vhostName"]); + self::$connection[$key] = new \AMQPConnection($credentials); + self::$connection[$key]->setLogin(Yii::$app->params['amqp']['login']); + self::$connection[$key]->setPassword(Yii::$app->params['amqp']["pass"]); + self::$connection[$key]->setHost(Yii::$app->params['amqp']["serverName"]); + self::$connection[$key]->setPort(Yii::$app->params['amqp']["port"]); + self::$connection[$key]->setVhost(Yii::$app->params['amqp']["vhostName"]); try { - self::$connection->connect(); + self::$connection[$key]->connect(); } catch (\AMQPConnectionException $exception) { AmqpLoger::log('error', $exception->getCode() . ' ' . $exception->getMessage(), 'system'); throw $exception; } } - return self::$connection; + return self::$connection[$key]; } public function getChannel($queue) diff --git a/console/AmqpController.php b/console/AmqpController.php index 917ebcd..dd92f0a 100644 --- a/console/AmqpController.php +++ b/console/AmqpController.php @@ -28,10 +28,14 @@ class AmqpController extends Controller */ public function actionCreateAllQueue() { - $amqp = new AmqpHelper; - foreach(Yii::$app->params['amqp']['queue'] as $key =>$value) + foreach(Yii::$app->params['amqp']['projects'] as $keyProject =>$project) { - $amqp->getQueueObject($key); + $amqp = new AmqpHelper; + $amqp->setProject($keyProject); + foreach ($project["queues"] as $key =>$value) + { + $amqp->getQueueObject($key); + } } return ExitCode::OK; }