Skip to content

Commit 61132d6

Browse files
authored
Fixing Minimum Uptime (#33616)
* Fixing min uptime. Renamed * missed name change * renamed again * Update CHANGELOG.md
1 parent cb97ec0 commit 61132d6

File tree

4 files changed

+20
-16
lines changed

4 files changed

+20
-16
lines changed

sdk/appconfiguration/azure-appconfiguration-provider/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release History
22

3-
## 1.1.0b3 (2023-12-18)
3+
## 1.1.0b3 (2023-12-19)
44

55
### Features Added
66

sdk/appconfiguration/azure-appconfiguration-provider/azure/appconfiguration/provider/_azureappconfigurationprovider.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def load(*args, **kwargs) -> "AzureAppConfigurationProvider":
194194
try:
195195
provider._load_all(headers=headers)
196196
except Exception as e:
197-
_prekill(start_time)
197+
_delay_failure(start_time)
198198
raise e
199199

200200
# Refresh-All sentinels are not updated on load_all, as they are not necessarily included in the provider.
@@ -212,21 +212,21 @@ def load(*args, **kwargs) -> "AzureAppConfigurationProvider":
212212
label,
213213
)
214214
else:
215-
_prekill(start_time)
215+
_delay_failure(start_time)
216216
raise e
217217
except Exception as e:
218-
_prekill(start_time)
218+
_delay_failure(start_time)
219219
raise e
220220
return provider
221221

222222

223-
def _prekill(start_time: datetime.datetime) -> None:
223+
def _delay_failure(start_time: datetime.datetime) -> None:
224224
# We want to make sure we are up a minimum amount of time before we kill the process. Otherwise, we could get stuck
225225
# in a quick restart loop.
226226
min_time = datetime.timedelta(seconds=min_uptime)
227227
current_time = datetime.datetime.now()
228228
if current_time - start_time < min_time:
229-
time.sleep(min_time - (current_time - start_time))
229+
time.sleep((min_time - (current_time - start_time)).total_seconds())
230230

231231

232232
def _get_headers(request_type, **kwargs) -> str:

sdk/appconfiguration/azure-appconfiguration-provider/azure/appconfiguration/provider/aio/_azureappconfigurationproviderasync.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
_get_headers,
4545
_RefreshTimer,
4646
_build_sentinel,
47-
_prekill,
47+
_delay_failure,
4848
)
4949
from .._user_agent import USER_AGENT
5050

@@ -194,7 +194,7 @@ async def load(*args, **kwargs) -> "AzureAppConfigurationProvider":
194194
try:
195195
await provider._load_all(headers=headers)
196196
except Exception as e:
197-
_prekill(start_time)
197+
_delay_failure(start_time)
198198
raise e
199199

200200
# Refresh-All sentinels are not updated on load_all, as they are not necessarily included in the provider.
@@ -213,10 +213,10 @@ async def load(*args, **kwargs) -> "AzureAppConfigurationProvider":
213213
)
214214
provider._refresh_on[(key, label)] = None
215215
else:
216-
_prekill(start_time)
216+
_delay_failure(start_time)
217217
raise e
218218
except Exception as e:
219-
_prekill(start_time)
219+
_delay_failure(start_time)
220220
raise e
221221
return provider
222222

sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
import datetime
1111
from unittest.mock import patch
1212

13-
from azure.appconfiguration.provider._azureappconfigurationprovider import _prekill
13+
from azure.appconfiguration.provider._azureappconfigurationprovider import _delay_failure
14+
15+
16+
def sleep(seconds):
17+
assert isinstance(seconds, float)
1418

1519

1620
class TestAppConfigurationProvider(AppConfigTestCase):
@@ -108,16 +112,16 @@ def test_provider_secret_resolver_options(self, appconfiguration_connection_stri
108112
)
109113
assert client["secret"] == "Reslover Value"
110114

111-
# method: _prekill
112-
@patch("time.sleep")
113-
def test_prekill(self, mock_sleep, **kwargs):
115+
# method: _delay_failure
116+
@patch("time.sleep", side_effect=sleep)
117+
def test_delay_failure(self, mock_sleep, **kwargs):
114118
start_time = datetime.datetime.now()
115-
_prekill(start_time)
119+
_delay_failure(start_time)
116120
assert mock_sleep.call_count == 1
117121

118122
mock_sleep.reset_mock()
119123
start_time = datetime.datetime.now() - datetime.timedelta(seconds=10)
120-
_prekill(start_time)
124+
_delay_failure(start_time)
121125
mock_sleep.assert_not_called()
122126

123127

0 commit comments

Comments
 (0)