Skip to content

Commit 8e9ddd0

Browse files
committed
Retry only detail fetches to avoid duplicate creates
1 parent 1dd41f6 commit 8e9ddd0

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

admin/create_secrets_files.py

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,23 @@
2525
from vws_web_tools import DatabaseDict, VuMarkDatabaseDict
2626

2727

28+
@retry(
29+
retry=retry_if_exception_type(exception_types=TimeoutException),
30+
stop=stop_after_attempt(max_attempt_number=3),
31+
wait=wait_exponential(multiplier=2, min=5, max=30),
32+
reraise=True,
33+
)
34+
def _get_database_details_with_retries(
35+
driver: "WebDriver",
36+
database_name: str,
37+
) -> "DatabaseDict":
38+
"""Get cloud database details with retries on timeout."""
39+
return vws_web_tools.get_database_details(
40+
driver=driver,
41+
database_name=database_name,
42+
)
43+
44+
2845
def _create_and_get_database_details(
2946
driver: "WebDriver",
3047
email_address: str,
@@ -50,18 +67,12 @@ def _create_and_get_database_details(
5067
license_name=license_name,
5168
)
5269

53-
return vws_web_tools.get_database_details(
70+
return _get_database_details_with_retries(
5471
driver=driver,
5572
database_name=database_name,
5673
)
5774

5875

59-
@retry(
60-
retry=retry_if_exception_type(exception_types=TimeoutException),
61-
stop=stop_after_attempt(max_attempt_number=3),
62-
wait=wait_exponential(multiplier=2, min=5, max=30),
63-
reraise=True,
64-
)
6576
def _create_and_get_vumark_details(
6677
driver: "WebDriver",
6778
vumark_database_name: str,
@@ -75,7 +86,7 @@ def _create_and_get_vumark_details(
7586
database_name=vumark_database_name,
7687
)
7788

78-
return vws_web_tools.get_vumark_database_details(
89+
return _get_vumark_details_with_retries(
7990
driver=driver,
8091
database_name=vumark_database_name,
8192
)
@@ -87,21 +98,13 @@ def _create_and_get_vumark_details(
8798
wait=wait_exponential(multiplier=2, min=5, max=30),
8899
reraise=True,
89100
)
90-
def _create_and_get_database_details_with_retries(
101+
def _get_vumark_details_with_retries(
91102
driver: "WebDriver",
92-
email_address: str,
93-
password: str,
94-
license_name: str,
95103
database_name: str,
96-
) -> "DatabaseDict":
97-
"""Create a cloud database and return details with retries on
98-
timeout.
99-
"""
100-
return _create_and_get_database_details(
104+
) -> "VuMarkDatabaseDict":
105+
"""Get VuMark database details with retries on timeout."""
106+
return vws_web_tools.get_vumark_database_details(
101107
driver=driver,
102-
email_address=email_address,
103-
password=password,
104-
license_name=license_name,
105108
database_name=database_name,
106109
)
107110

@@ -167,7 +170,7 @@ def main() -> None:
167170
vumark_database_name = f"my-vumark-database-{time}"
168171

169172
try:
170-
database_details = _create_and_get_database_details_with_retries(
173+
database_details = _create_and_get_database_details(
171174
driver=driver,
172175
email_address=email_address,
173176
password=password,
@@ -176,8 +179,7 @@ def main() -> None:
176179
)
177180
except TimeoutException:
178181
sys.stderr.write(
179-
"Timed out waiting for license/database creation "
180-
"after retries\n"
182+
"Timed out waiting for database setup/details after retries\n"
181183
)
182184
driver.quit()
183185
driver = None
@@ -190,7 +192,7 @@ def main() -> None:
190192
)
191193
except TimeoutException:
192194
sys.stderr.write(
193-
"Timed out waiting for VuMark creation after retries\n"
195+
"Timed out waiting for VuMark setup/details after retries\n"
194196
)
195197
driver.quit()
196198
driver = None

0 commit comments

Comments
 (0)