squeezely/rabbitmq-management-api

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

v0.5.0 2020-10-02 10:23 UTC

This package is auto-updated.

Last update: 2024-05-11 20:19:58 UTC


README

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