Download the PHP package byjg/rabbitmq-client without Composer
On this page you can find all versions of the php package byjg/rabbitmq-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download byjg/rabbitmq-client
More information about byjg/rabbitmq-client
Files in byjg/rabbitmq-client
Package rabbitmq-client
Short Description A minimal rabbitmq client using the components of byjg/message-queue-client
License MIT
Informations about the package rabbitmq-client
RabbitMQ Client
It creates a simple abstraction layer to publish and consume messages from the RabbitMQ Server using the component byjg/message-queue-client.
For details on how to use the Message Queue Client see the documentation
Usage
Publish
Consume
The consume method will wait for a message and call the callback function to process the message. If there is no message in the queue, the method will wait until a message arrives.
If you want to exit the consume method, just return Message::ACK | Message::EXIT
from the callback function.
Possible return values from the callback function:
Message::ACK
- Acknowledge the message and remove from the queueMessage::NACK
- Not acknowledge the message and remove from the queue. If the queue has a dead letter queue, the message will be sent to the dead letter queue.Message::REQUEUE
- Requeue the messageMessage::EXIT
- Exit the consume method
RabbitMQ Client (AMQP Protocol)
The RabbitMQ connector uses the php-amqplib library.
The standard behavior of the connector is to create an Exchange, a Queue and bind the queue to the exchange with a routing key (by default is the same as the queue name). All messages are published to the exchange and consumed from the queue.
As the queue and exchange is created by the Connector it is recommended you do not use to publish/consume from existing queues. If you use an existing Queue you might get the error:
You can change the behavior of the connection by using the Pipe::withProperty()
and Message::withProperty()
methods.
Some of them are used by the RabbitMQConnector by setting some default values:
Pipe::withProperty(RabbitMQConnector::EXCHANGE)
- Set the exchange name. Default is the queue name.Pipe::withProperty(RabbitMQConnector::ROUTING_KEY)
- Set the routing key. Default is the queue name.Pipe::withProperty('x-message-ttl')
- Only affects dead letter queues. Set the time to live of the message in milliseconds. Default 3 days.Pipe::withProperty('x-expires')
- Only affects dead letter queues. Set the time to live of the queue in milliseconds. Default 3 days.Message::withProperty('content_type')
- Set the content type of the message. Default is text/plain.Message::withProperty('delivery_mode')
- Set the delivery mode of the message. Default is 2 (persistent).
Protocols:
Protocol | URI Example | Notes |
---|---|---|
AMQP | amqp://user:pass@host:port/vhost?pre_fetch=n.. | Default port: 5672. Args: pre_fetch (optional) |
AMQPS | amqps://user:pass@host:port/vhost?arg1=...&args=... | Default port: 5671. Args: capath*, local_cert, local_pk, verify_peer, verify_peer_name |
Dependencies
All versions of rabbitmq-client with dependencies
ext-curl Version *
byjg/message-queue-client Version ^5.0
php-amqplib/php-amqplib Version ^3.5