innmind / rabbitmq-management
rabbitmq管理的抽象
3.2.0
2023-09-23 09:25 UTC
Requires
- php: ~8.1
- innmind/immutable: ~4.5|~5.0
- innmind/server-control: ~4.2|~5.0
- innmind/time-continuum: ~3.0
- innmind/url: ~4.1
Requires (Dev)
- innmind/coding-standard: ~2.0
- phpunit/phpunit: ~9.0
- vimeo/psalm: ~5.12
README
rabbitmqadmin
命令的包装器。
安装
composer require innmind/rabbitmq-management
使用
use Innmind\RabbitMQ\Management\{ Status, Control, }; use Innmind\OperatingSystem\Factory; $os = Factory::build(); $status = Status::of( $os->control(), $os->clock(), ); $status->users(); $status->vhosts(); $status->connections(); $status->exchanges(); $status->permissions(); $status->channels(); $status->consumers(); $status->queues(); $status->nodes(); $control = Control::of($server); $control->users(); $control->vhosts(); $control->permissions();
本质上这将运行服务器上的rabbitmqadmin list {element}
并提取信息。
如果您需要列出远程服务器的信息,则可以简单地这样做
use Innmind\RabbitMQ\Management\Status\Environment\Remote; use Innmind\Url\{ Authority\Host, Authority\Port, Path, }; Status::of( $os->control(), $os->clock(), Remote::of( Host::of('your-host'), Port::of(1337), 'username', 'password', Path::of('/some-vhost'), ), );
但是为了使这生效,您需要在运行此代码的机器上安装rabbitmqadmin
。
如果您在机器上没有此命令,可以将$os->control()
替换为$os->remote()->ssh(/*...*/)
,这样它将使用ssh
在机器上运行命令(您需要从Status::of()
中移除第三个参数)。