Skip to content

Commit

Permalink
add transport retry options to XML schema definition
Browse files Browse the repository at this point in the history
  • Loading branch information
xabbuh committed Feb 28, 2020
1 parent da0e2f9 commit dbc2926
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 0 deletions.
Expand Up @@ -457,12 +457,21 @@
<xsd:complexType name="messenger_transport">
<xsd:sequence>
<xsd:element name="options" type="metadata" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="retry-strategy" type="messenger_retry_strategy" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="serializer" type="xsd:string" />
<xsd:attribute name="dsn" type="xsd:string" />
</xsd:complexType>

<xsd:complexType name="messenger_retry_strategy">
<xsd:attribute name="service" type="xsd:string" />
<xsd:attribute name="max-retries" type="xsd:integer" />
<xsd:attribute name="delay" type="xsd:integer" />
<xsd:attribute name="multiplier" type="xsd:float" />
<xsd:attribute name="max-delay" type="xsd:float" />
</xsd:complexType>

<xsd:complexType name="messenger_bus">
<xsd:sequence>
<xsd:element name="middleware" type="messenger_middleware" minOccurs="0" maxOccurs="unbounded" />
Expand Down
Expand Up @@ -12,6 +12,12 @@
'dsn' => 'amqp://localhost/%2f/messages?exchange_name=exchange_name',
'options' => ['queue' => ['name' => 'Queue']],
'serializer' => 'messenger.transport.native_php_serializer',
'retry_strategy' => [
'max_retries' => 10,
'delay' => 7,
'multiplier' => 3,
'max_delay' => 100,
],
],
'redis' => 'redis://127.0.0.1:6379/messages',
],
Expand Down
Expand Up @@ -16,6 +16,7 @@
<framework:name>Queue</framework:name>
</framework:queue>
</framework:options>
<framework:retry-strategy max-retries="10" delay="7" multiplier="3" max-delay="100"/>
</framework:transport>
<framework:transport name="redis" dsn="redis://127.0.0.1:6379/messages" />
</framework:messenger>
Expand Down
Expand Up @@ -11,4 +11,9 @@ framework:
queue:
name: Queue
serializer: 'messenger.transport.native_php_serializer'
retry_strategy:
max_retries: 10
delay: 7
multiplier: 3
max_delay: 100
redis: 'redis://127.0.0.1:6379/messages'
Expand Up @@ -725,6 +725,11 @@ public function testMessengerTransports()
$this->assertSame('redis://127.0.0.1:6379/messages', $transportArguments[0]);

$this->assertTrue($container->hasDefinition('messenger.transport.redis.factory'));

$this->assertSame(10, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(0));
$this->assertSame(7, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(1));
$this->assertSame(3, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(2));
$this->assertSame(100, $container->getDefinition('messenger.retry.multiplier_retry_strategy.customised')->getArgument(3));
}

public function testMessengerRouting()
Expand Down

0 comments on commit dbc2926

Please sign in to comment.