- PHP >= 7.2
- php guzzle/guzzle
-
Download and Install PHP Composer.
curl -sS https://getcomposer.org/installer | php
-
Next, run the Composer command to install the latest version.
php composer.phar require squeezely/rabbitmq-management-api
<?php
use Squeezely\RabbitMQ\Management\Configuration\AbstractConfiguration;
use Squeezely\RabbitMQ\Management\Configuration\ArrayConfiguration;
use Squeezely\RabbitMQ\Management\Vhost\VhostService;
use Squeezely\RabbitMQ\Management\Cluster\ClusterService;
$config = new AbstractConfiguration('my.host.com', 15672, 'http', 'user', 'password');
$config = new ArrayConfiguration([
'hostname' => 'my.host.com',
'port' => 15672,
'protocol' => 'http',
'username' => 'user',
'password' => 'password'
]);
$vhostService = new VhostService($config);
if($vhostService->createVhost('somevhost', true))
$vhost = $vhostService->getVhost('somevhost');
foreach($vhostService->getVhosts() as $vhost) {
var_dump(
$vhost->getName(),
$vhost->getTopicPermissions(),
$vhost->getPermissions(),
$vhost->getData()
);
}
$queueService = new QueueService($config);
$queue = $queueService->getQueue('my_awesome_queue', 'development');
var_dump($queue->getName());
$queues = $queueService->getQueues('development');
foreach($queues as $queue) {
var_dump($queue->getName());
}
$queueToDelete = $queueService->getQueue('queue_i_dont_like', 'development');
$queueService->deleteQueue($queueToDelete);
$queueService->createQueue(
'queue_i_like',
'development',
[
'passive' => false,
'durable' => true,
'exclusive' => false,
'auto_delete' => false,
]
);
$clusterService = new ClusterService($config);
var_dump(
$clusterService->getExtensions(),
$clusterService->getNodes(),
$clusterService->getClusterName(),
$clusterService->getOverview()
);
If more features are required for you to make this work feel free to create an issue within this project. For contribution a pull request can be opened, please stay in the same coding standard line as this is coded.
squeezely/rabbitmq-management-api is licensed under the MIT License - see the LICENSE file for details