alchemy/queue-component is a library providing a minimalist publish/subscribe abstraction over AMQP
The only supported installation method is via Composer. Run the following command to require the package in your project:
composer require alchemy/queue-component
// 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);