dimkamonster/laminas-rabbitmq

Laminas 的 RabbitMQ 模块

0.0.1 2022-01-20 05:53 UTC

This package is auto-updated.

Last update: 2024-09-20 13:12:10 UTC


README

Laminas RabbitMQ 模块

安装

composer require dimkamonster/laminas-rabbitmq

配置

使用以下描述创建以 rabbitmq 为键的配置

<?php

return [
    'rabbitmq' => [
        'host'     => 'localhost',
        'port'     => 5672,
        'login'    => 'guest',
        'password' => 'guest',
    ],
]

确保模块已启用并尝试以下示例。

发送消息

<?php

/**
 * @var \RabbitMQ\Service\RabbitMQ $rabbitmqService
 * @var \Interop\Container\ContainerInterface $container
 */

$rabbitMQ = $container->get(\RabbitMQ\Service\RabbitMQ::class);
$publisher = new \RabbitMQ\Publisher\WorkQueuePublisher('test_work_queue');
$job = new \RabbitMQ\Job\Job(['some' => 'data']);

$rabbitMQ->setPublisher($publisher);
$rabbitMQ->push($job);

接收消息

<?php

/**
 * @var \RabbitMQ\Service\RabbitMQ $rabbitmqService
 * @var \Interop\Container\ContainerInterface $container
 */

$rabbitMQ = $container->get(\RabbitMQ\Service\RabbitMQ::class);
$consumer = new \RabbitMQ\Consumer\WorkQueueConsumer('test_work_queue');
$rabbitMQ->setConsumer($consumer);

$rabbitMQ->receive(function (\RabbitMQ\Consumer\Message $message) {
    echo $message->getBody();

    $message->ack();
});