Skip to content

Instantly share code, notes, and snippets.

@makasim
Last active April 11, 2017 20:36
Show Gist options
  • Save makasim/984771378e7d5487de519615e2ca68eb to your computer and use it in GitHub Desktop.
Save makasim/984771378e7d5487de519615e2ca68eb to your computer and use it in GitHub Desktop.
<?php
/**
* @var \Enqueue\AmqpExt\AmqpMessage $message
* @var \Enqueue\AmqpExt\AmqpContext $context
* @var \Enqueue\AmqpExt\AmqpConsumer $consumer
*/
if ($message->isRedelivered()) {
$retryQueue = $context->createQueue('a_retry_queue');
$retryQueue->addFlag(AMQP_DURABLE);
$retryQueue->setArguments([
'x-dead-letter-exchange' => '',
'x-dead-letter-routing-key' => 'a_queue',
'x-message-ttl' => 5000, // 5 sec
]);
$context->declareQueue($retryQueue);
$retryMessage = $context->createMessage(
$message->getBody(),
$message->getProperties(),
$message->getHeaders()
);
$context->createProducer()->send($retryQueue, $retryMessage);
$consumer->acknowledge($message);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment