corley/queue-rabbitmq

0.0.1 2017-01-24 20:23 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:35:39 UTC


README

使用此包,你需要 php-amqplib/php-amqplib

composer require php-amqplib/php-amqplib:~2

用作适配器

创建适配器

use Corley\Queue\RabbitMQ\RabbitMQ;

$amqp = new AMQPStreamConnection('localhost', 5672, 'username', 'password');
$adapter = new RabbitMQ($amqp);

你可以使用 exchange 和接收超时选项

$adapter = new RabbitMQ($amqp, [
    "exchange" => "my_exchange", // send to an exchange
    "receive_timeout" => 20, // exit after 20 seconds
]);

按常规设置

use Corley\Queue\Queue;

$queue = new Queue("my_queue", $adapter);
$queue->send(json_encode(["test" => "ok"]));

list($receipt, $message) = $queue->receive();
$message = json_decode($message, true);

$queue->delete($receipt);

测试套件(功能测试)

docker run -d --hostname my-rabbit \
    -p 5672:5672 -p 15672:15672 --name rabbit \
    -e RABBITMQ_DEFAULT_USER=wdalmut \
    -e RABBITMQ_DEFAULT_PASS=testtest \
    rabbitmq:3-management