Skip to content

Add Subscription info to Message#66

Closed
naxo8628 wants to merge 6 commits intopetitpress:masterfrom
naxo8628:patch-1
Closed

Add Subscription info to Message#66
naxo8628 wants to merge 6 commits intopetitpress:masterfrom
naxo8628:patch-1

Conversation

@naxo8628
Copy link

@naxo8628 naxo8628 commented Oct 11, 2025

add maxDeliveryAttempts & deadLetterTopic in the Stamp.

This allows redefine the "messenger.retry.send_failed_message_for_retry_listener" to log correctly the level & the retryCount:

#[AsEventListener(event: WorkerMessageFailedEvent::class, method: 'onMessageFailed', priority: 300)]
class MessengerErrorListener
{
    public function __construct(private readonly LoggerInterface $messengerLogger)
    {
    }

    public function onMessageFailed(WorkerMessageFailedEvent $event): void
    {
        $context = ['error' => $event->getThrowable()->getMessage(), 'class' => \get_class($event->getEnvelope()->getMessage()), 'exception' => $event->getThrowable()];

        if ($stamp = $event->getEnvelope()->last(GpsReceivedStamp::class)) {
            $retryCount = $stamp->getGpsMessage()->deliveryAttempt();
            $maxRetry = $stamp->getMaxDeliveryAttempts();
            $context += ['retryCount' => $retryCount, 'maxRetry' => $maxRetry, 'failedTopic' => $stamp->getDeadLetterTopic()];
            if ($retryCount < $maxRetry) {
                $this->messengerLogger?->warning('Error thrown while handling message {class}. Pub/sub retries: #{retryCount}/{maxRetry}. Error: "{error}"', $context);
            } else {
                $this->messengerLogger?->critical('Error thrown while handling message {class}. Pub/sub max retries reached: #{retryCount}. Will send to {failedTopic}  Error: "{error}"', $context);
            }
        } else {
            $this->messengerLogger?->critical('Error thrown while handling message {class}. No retryCount in Pub/sub. Error: "{error}"', $context);
        }
    }
}

@naxo8628
Copy link
Author

I can move to a new Stamp GpsReceiverOptionsStamp instead of GpsReceivedStamp

@naxo8628 naxo8628 closed this Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant