Skip to content

Commit 7f460ee

Browse files
committed
Set Exception as Property on Message
Fixes #114
1 parent 6e4d3c9 commit 7f460ee

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/Consumption/LimitAttemptsExtension.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,11 @@ public function onResult(MessageResult $context): void
6161
$attemptNumber = $message->getProperty(self::ATTEMPTS_PROPERTY, 0) + 1;
6262

6363
if ($attemptNumber >= $maxAttempts) {
64-
$originalResult = $context->getResult();
65-
6664
$context->changeResult(
6765
Result::reject(sprintf('The maximum number of %d allowed attempts was reached.', $maxAttempts))
6866
);
6967

70-
$exception = $originalResult instanceof Result ? $originalResult->getReason() : null;
68+
$exception = (string)$message->getProperty('jobException');
7169

7270
$this->dispatchEvent(
7371
'Consumption.LimitAttemptsExtension.failed',

src/Queue/Processor.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,15 @@ public function process(QueueMessage $message, Context $context)
8181
try {
8282
$response = $this->processMessage($jobMessage);
8383
} catch (Throwable $e) {
84+
$message->setProperty('jobException', $e);
85+
8486
$this->logger->debug(sprintf('Message encountered exception: %s', $e->getMessage()));
8587
$this->dispatchEvent('Processor.message.exception', [
8688
'message' => $jobMessage,
8789
'exception' => $e,
8890
]);
8991

90-
return Result::requeue(sprintf('Exception occurred while processing message: %s', (string)$e));
92+
return Result::requeue('Exception occurred while processing message');
9193
}
9294

9395
if ($response === InteropProcessor::ACK) {

0 commit comments

Comments
 (0)