Skip to content

Commit eb98416

Browse files
committed
Adding comments to the example
Signed-off-by: Ryan Lettieri <[email protected]>
1 parent f731c0d commit eb98416

File tree

2 files changed

+29
-28
lines changed

2 files changed

+29
-28
lines changed

durabletask/accessTokenManager.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
# Copyright (c) Microsoft Corporation.
2-
# Licensed under the MIT License.
3-
4-
from azure.identity import DefaultAzureCredential
5-
from datetime import datetime, timedelta
6-
7-
class AccessTokenManager:
8-
def __init__(self, scope: str, refresh_buffer: int = 60):
9-
self.scope = scope
10-
self.refresh_buffer = refresh_buffer
11-
self.credential = DefaultAzureCredential()
12-
self.token = None
13-
self.expiry_time = None
14-
15-
def get_access_token(self) -> str:
16-
if self.token is None or self.is_token_expired():
17-
self.refresh_token()
18-
return self.token
19-
20-
def is_token_expired(self) -> bool:
21-
if self.expiry_time is None:
22-
return True
23-
return datetime.utcnow() >= (self.expiry_time - timedelta(seconds=self.refresh_buffer))
24-
25-
def refresh_token(self):
26-
new_token = self.credential.get_token(self.scope)
27-
self.token = f"Bearer {new_token.token}"
28-
self.expiry_time = datetime.utcnow() + timedelta(seconds=new_token.expires_on - int(datetime.utcnow().timestamp()))
1+
# Copyright (c) Microsoft Corporation.
2+
# Licensed under the MIT License.
3+
4+
from azure.identity import DefaultAzureCredential
5+
from datetime import datetime, timedelta
6+
7+
class AccessTokenManager:
8+
def __init__(self, scope: str, refresh_buffer: int = 60):
9+
self.scope = scope
10+
self.refresh_buffer = refresh_buffer
11+
self.credential = DefaultAzureCredential()
12+
self.token = None
13+
self.expiry_time = None
14+
15+
def get_access_token(self) -> str:
16+
if self.token is None or self.is_token_expired():
17+
self.refresh_token()
18+
return self.token
19+
20+
def is_token_expired(self) -> bool:
21+
if self.expiry_time is None:
22+
return True
23+
return datetime.utcnow() >= (self.expiry_time - timedelta(seconds=self.refresh_buffer))
24+
25+
def refresh_token(self):
26+
new_token = self.credential.get_token(self.scope)
27+
self.token = f"Bearer {new_token.token}"
28+
self.expiry_time = datetime.utcnow() + timedelta(seconds=new_token.expires_on - int(datetime.utcnow().timestamp()))
2929
print(f"Token refreshed. Expires at: {self.expiry_time}")

examples/dts/dts_activity_sequence.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ def sequence(ctx: task.OrchestrationContext, _):
6161
w.add_activity(hello)
6262
w.start()
6363

64+
# Construct the client and run the orchestrations
6465
c = client.TaskHubGrpcClient(host_address=endpoint, metadata=metaData, secure_channel=True)
6566
instance_id = c.schedule_new_orchestration(sequence)
6667
state = c.wait_for_orchestration_completion(instance_id, timeout=45)

0 commit comments

Comments
 (0)