for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace OldSound\RabbitMqBundle\ExecuteReceiverStrategy;
use OldSound\RabbitMqBundle\Declarations\ConsumeOptions;
use PhpAmqpLib\Exception\AMQPTimeoutException;
use PhpAmqpLib\Message\AMQPMessage;
class SingleExecuteReceiverStrategy extends AbstractExecuteReceiverStrategy
{
/** @var AMQPMessage */
private $processingMessage;
public function canPrecessMultiMessages(): bool
return false;
}
public function onConsumeCallback(AMQPMessage $message)
$this->processingMessage = $message;
$this->processMessages([$this->processingMessage]);
public function onMessageProcessed(AMQPMessage $message)
if ($this->processingMessage !== $message) {
throw new \InvalidArgumentException('TODO');
$this->processingMessage = null;
public function onCatchTimeout(AMQPTimeoutException $e)
public function onStopConsuming()
if ($this->processingMessage) {