pnixx / amp-rabbitmq
异步 AMQP 客户端
2.0.0
2024-02-16 07:31 UTC
Requires
- php: >=8.1
- amphp/amp: ^v3.0
- amphp/socket: ^v2.0
- phpinnacle/buffer: v1.2.*
Requires (Dev)
- amphp/phpunit-util: ^v3.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: v9.5.*
- psalm/phar: ^5.4
README
此库是 AMQP 0-9-1 协议的纯异步 PHP 实现。
代码主要基于 bunnyphp 和 PHPinnacle Ridge,但使用 amphp 进行异步操作。
安装
通过 Composer
$ composer require pnixx/amp-rabbitmq
基本用法
<?php use Amp\Loop; use PHPinnacle\Ridge\Channel; use PHPinnacle\Ridge\Client; use PHPinnacle\Ridge\Message; use Revolt\EventLoop; require __DIR__ . '/vendor/autoload.php'; $client = Client::create('amqp://user:pass@localhost:5672'); $client->connect(); $channel = $client->channel(); $queue = $channel->queueDeclare('queue_name'); for ($i = 0; $i < 10; $i++) { $channel->publish("test_$i", '', 'queue_name'); } $channel->consume(function (Message $message, Channel $channel) { echo $message->content() . \PHP_EOL; $channel->ack($message); }, 'queue_name'); EventLoop::run();
更多示例可以在 examples 目录中找到。
测试
$ composer tests
变更日志
请参阅 CHANGELOG 以获取最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 和 CONDUCT 以获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 dev@phpinnacle.com 而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。