Skip to content

A module making it easy to use management features of the RabbitMQ management API

License

Notifications You must be signed in to change notification settings

squeezely/rabbitmq-management-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP RabbitMQ Management API

Requirements

Installation

  1. Download and Install PHP Composer.

    curl -sS https://getcomposer.org/installer | php
  2. Next, run the Composer command to install the latest version.

    php composer.phar require squeezely/rabbitmq-management-api

How to use:

<?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()
);

Contribution and Feature requests

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.

License

squeezely/rabbitmq-management-api is licensed under the MIT License - see the LICENSE file for details