Skip to content

Commit b82aa3e

Browse files
fix: rabbitmq readiness probe
Add pika AMQPConnectionError to transient errors
1 parent 928af5a commit b82aa3e

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

rabbitmq/testcontainers/rabbitmq/__init__.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,15 @@ class RabbitMqContainer(DockerContainer):
2323
... connection = pika.BlockingConnection(rabbitmq.get_connection_params())
2424
... channel = connection.channel()
2525
"""
26-
def __init__(self, image: str = "rabbitmq:latest", port: Optional[int] = None,
27-
username: Optional[str] = None, password: Optional[str] = None, **kwargs) -> None:
26+
27+
def __init__(
28+
self,
29+
image: str = "rabbitmq:latest",
30+
port: Optional[int] = None,
31+
username: Optional[str] = None,
32+
password: Optional[str] = None,
33+
**kwargs
34+
) -> None:
2835
"""Initialize the RabbitMQ test container.
2936
3037
Args:
@@ -43,7 +50,9 @@ def __init__(self, image: str = "rabbitmq:latest", port: Optional[int] = None,
4350
self.with_env("RABBITMQ_DEFAULT_USER", self.username)
4451
self.with_env("RABBITMQ_DEFAULT_PASS", self.password)
4552

46-
@wait_container_is_ready(pika.exceptions.IncompatibleProtocolError)
53+
@wait_container_is_ready(
54+
pika.exceptions.IncompatibleProtocolError, pika.exceptions.AMQPConnectionError
55+
)
4756
def readiness_probe(self) -> bool:
4857
"""Test if the RabbitMQ broker is ready."""
4958
connection = pika.BlockingConnection(self.get_connection_params())
@@ -58,7 +67,9 @@ def get_connection_params(self) -> pika.ConnectionParameters:
5867
For more details see:
5968
https://pika.readthedocs.io/en/latest/modules/parameters.html
6069
"""
61-
credentials = pika.PlainCredentials(username=self.username, password=self.password)
70+
credentials = pika.PlainCredentials(
71+
username=self.username, password=self.password
72+
)
6273

6374
return pika.ConnectionParameters(
6475
host=self.get_container_host_ip(),

0 commit comments

Comments
 (0)