alchemy/queue-component

Message queue component

0.1.6 2022-11-28 14:07 UTC

This package is not auto-updated.

Last update: 2024-04-15 21:23:30 UTC


README

License Packagist Travis Coverage Scrutinizer Packagist

alchemy/queue-component is a library providing a minimalist publish/subscribe abstraction over AMQP

Installation

The only supported installation method is via Composer. Run the following command to require the package in your project:

composer require alchemy/queue-component

Quickstart guide

// Note: the following array contains all available parameters and their default values
// Every configuration key is optional, and its default value used when not defined in parameters
$parameters = [
    'host' => 'localhost',
    'vhost' => '/',
    'port' => 5672,
    'user' => 'guest',
    'password' => 'guest',
    'exchange' => 'alchemy-exchange',
    'dead-letter-exchange' => 'alchemy-dead-exchange',
    'queue' => 'alchemy-queue'
];

$factory = Alchemy\Queue\Amqp\AmqpMessageQueueFactory::create($parameters);

// Publish a message
$factory->getNamedQueue('my-queue')->publish(new Message('message body', 'correlation-id'));

// Consume next message in queue
$handler = new Alchemy\Queue\NullMessageHandler();
$resolver = new Alchemy\Queue\MessageHandlerResolver($handler);
$factory->getNamedQueue('my-queue')->handle($resolver);