Skip to content

Commit dbc2926

Browse files
committed
add transport retry options to XML schema definition
1 parent da0e2f9 commit dbc2926

File tree

5 files changed

+26
-0
lines changed

5 files changed

+26
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd

+9
Original file line numberDiff line numberDiff line change
@@ -457,12 +457,21 @@
457457
<xsd:complexType name="messenger_transport">
458458
<xsd:sequence>
459459
<xsd:element name="options" type="metadata" minOccurs="0" maxOccurs="unbounded" />
460+
<xsd:element name="retry-strategy" type="messenger_retry_strategy" minOccurs="0" maxOccurs="1" />
460461
</xsd:sequence>
461462
<xsd:attribute name="name" type="xsd:string" />
462463
<xsd:attribute name="serializer" type="xsd:string" />
463464
<xsd:attribute name="dsn" type="xsd:string" />
464465
</xsd:complexType>
465466

467+
<xsd:complexType name="messenger_retry_strategy">
468+
<xsd:attribute name="service" type="xsd:string" />
469+
<xsd:attribute name="max-retries" type="xsd:integer" />
470+
<xsd:attribute name="delay" type="xsd:integer" />
471+
<xsd:attribute name="multiplier" type="xsd:float" />
472+
<xsd:attribute name="max-delay" type="xsd:float" />
473+
</xsd:complexType>
474+
466475
<xsd:complexType name="messenger_bus">
467476
<xsd:sequence>
468477
<xsd:element name="middleware" type="messenger_middleware" minOccurs="0" maxOccurs="unbounded" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_transports.php

+6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
'dsn' => 'amqp://localhost/%2f/messages?exchange_name=exchange_name',
1313
'options' => ['queue' => ['name' => 'Queue']],
1414
'serializer' => 'messenger.transport.native_php_serializer',
15+
'retry_strategy' => [
16+
'max_retries' => 10,
17+
'delay' => 7,
18+
'multiplier' => 3,
19+
'max_delay' => 100,
20+
],
1521
],
1622
'redis' => 'redis://127.0.0.1:6379/messages',
1723
],

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_transports.xml

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<framework:name>Queue</framework:name>
1717
</framework:queue>
1818
</framework:options>
19+
<framework:retry-strategy max-retries="10" delay="7" multiplier="3" max-delay="100"/>
1920
</framework:transport>
2021
<framework:transport name="redis" dsn="redis://127.0.0.1:6379/messages" />
2122
</framework:messenger>

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_transports.yml

+5
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,9 @@ framework:
1111
queue:
1212
name: Queue
1313
serializer: 'messenger.transport.native_php_serializer'
14+
retry_strategy:
15+
max_retries: 10
16+
delay: 7
17+
multiplier: 3
18+
max_delay: 100
1419
redis: 'redis://127.0.0.1:6379/messages'

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

+5
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,11 @@ public function testMessengerTransports()
725725
$this->assertSame('redis://127.0.0.1:6379/messages', $transportArguments[0]);
726726

727727
$this->assertTrue($container->hasDefinition('messenger.transport.redis.factory'));
728+
729+
$this->assertSame(10, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(0));
730+
$this->assertSame(7, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(1));
731+
$this->assertSame(3, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(2));
732+
$this->assertSame(100, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(3));
728733
}
729734

730735
public function testMessengerRouting()

0 commit comments

Comments
 (0)