Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fc7d7ed

Browse files
[Messenger] Add config option 'arguments' for delay queues
1 parent 221e810 commit fc7d7ed

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

src/Symfony/Component/Messenger/Bridge/Amqp/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CHANGELOG
22
=========
33

4-
6.3
4+
6.4
55
---
66

77
* Add option `delay[arguments]` in the transport definition

src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ private function createDelayQueue(int $delay, ?string $routingKey, bool $isRetry
387387
$queue = $this->amqpFactory->createQueue($this->channel());
388388
$queue->setName($this->getRoutingKeyForDelay($delay, $routingKey, $isRetryAttempt));
389389
$queue->setFlags(\AMQP_DURABLE);
390-
$defaultArguments = [
390+
$queue->setArguments(array_merge([
391391
'x-message-ttl' => $delay,
392392
// delete the delay queue 10 seconds after the message expires
393393
// publishing another message redeclares the queue which renews the lease
@@ -398,10 +398,7 @@ private function createDelayQueue(int $delay, ?string $routingKey, bool $isRetry
398398
// after being released from to DLX, make sure the original routing key will be used
399399
// we must use an empty string instead of null for the argument to be picked up
400400
'x-dead-letter-routing-key' => $routingKey ?? '',
401-
];
402-
403-
$delayArguments = $this->connectionOptions['delay']['arguments'] ?? [];
404-
$queue->setArguments(array_merge($defaultArguments, $delayArguments));
401+
], $this->connectionOptions['delay']['arguments'] ?? []));
405402

406403
return $queue;
407404
}

0 commit comments

Comments
 (0)