QueueReceiverInterface
extends
ReceiverInterface
in
Some transports may have multiple queues. This interface is used to read from only some queues.
Tags
Table of Contents
Methods
- ack() : void
- Acknowledges that the passed message was handled.
- get() : array<string|int, Envelope>
- Receives some messages.
- getFromQueues() : array<string|int, Envelope>
- Get messages from the specified queue names instead of consuming from all queues.
- reject() : void
- Called when handling the message failed and it should not be retried.
Methods
ack()
Acknowledges that the passed message was handled.
public
ack(Envelope $envelope) : void
Parameters
- $envelope : Envelope
Tags
get()
Receives some messages.
public
get() : array<string|int, Envelope>
While this method could return an unlimited number of messages, the intention is that it returns only one, or a "small number" of messages each time. This gives the user more flexibility: they can finish processing the one (or "small number") of messages from this receiver and move on to check other receivers for messages. If this method returns too many messages, it could cause a blocking effect where handling the messages received from one call to get() takes a long time, blocking other receivers from being called.
If applicable, the Envelope should contain a TransportMessageIdStamp.
If a received message cannot be decoded, the message should not be retried again (e.g. if there's a queue, it should be removed) and a MessageDecodingFailedException should be thrown.
Tags
Return values
array<string|int, Envelope>getFromQueues()
Get messages from the specified queue names instead of consuming from all queues.
public
getFromQueues(array<string|int, string> $queueNames) : array<string|int, Envelope>
Parameters
- $queueNames : array<string|int, string>
Return values
array<string|int, Envelope>reject()
Called when handling the message failed and it should not be retried.
public
reject(Envelope $envelope) : void
Parameters
- $envelope : Envelope