Skip to content

Commit f9d55ab

Browse files
committed
Adressing more feedback
Signed-off-by: Ryan Lettieri <[email protected]>
1 parent 99f62d7 commit f9d55ab

File tree

9 files changed

+29
-59
lines changed

9 files changed

+29
-59
lines changed
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,28 @@
33

44
from typing import Optional
55
from durabletask.client import TaskHubGrpcClient
6-
from durabletask.azuremanaged.access_token_manager import AccessTokenManager
6+
from durabletask.azuremanaged.internal.access_token_manager import AccessTokenManager
77
from durabletask.azuremanaged.durabletask_grpc_interceptor import DTSDefaultClientInterceptorImpl
88

99
# Client class used for Durable Task Scheduler (DTS)
1010
class DurableTaskSchedulerClient(TaskHubGrpcClient):
11-
def __init__(self,
11+
def __init__(self, *,
1212
host_address: str,
13-
secure_channel: bool,
13+
taskhub: str,
14+
secure_channel: Optional[bool] = True,
1415
metadata: Optional[list[tuple[str, str]]] = None,
1516
use_managed_identity: Optional[bool] = False,
16-
client_id: Optional[str] = None,
17-
taskhub: str = None,
18-
**kwargs):
17+
client_id: Optional[str] = None):
1918

19+
if taskhub == None:
20+
raise ValueError("Taskhub value cannot be empty. Please provide a value for your taskhub")
21+
2022
# Ensure metadata is a list
2123
metadata = metadata or []
2224
self._metadata = metadata.copy() # Use a copy to avoid modifying original
2325

2426
# Append DurableTask-specific metadata
25-
self._metadata.append(("taskhub", taskhub or "default-taskhub"))
27+
self._metadata.append(("taskhub", taskhub))
2628
self._metadata.append(("dts", "True"))
2729
self._metadata.append(("use_managed_identity", str(use_managed_identity)))
2830
self._metadata.append(("client_id", str(client_id or "None")))
@@ -37,9 +39,7 @@ def __init__(self,
3739
host_address=host_address,
3840
secure_channel=secure_channel,
3941
metadata=None,
40-
interceptors=self._interceptors,
41-
**kwargs
42-
)
42+
interceptors=self._interceptors)
4343

4444
def __update_metadata_with_token(self):
4545
"""

durabletask-azuremanaged/durabletask/azuremanaged/durabletask_grpc_interceptor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Licensed under the MIT License.
33

44
from durabletask.internal.grpc_interceptor import _ClientCallDetails, DefaultClientInterceptorImpl
5-
from durabletask.azuremanaged.access_token_manager import AccessTokenManager
5+
from durabletask.azuremanaged.internal.access_token_manager import AccessTokenManager
66

77
import grpc
88

durabletask-azuremanaged/durabletask/azuremanaged/durabletask_keep_alive_service.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

durabletask-azuremanaged/durabletask/azuremanaged/access_token_manager.py renamed to durabletask-azuremanaged/durabletask/azuremanaged/internal/access_token_manager.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
# By default, when there's 10minutes left before the token expires, refresh the token
99
class AccessTokenManager:
10-
def __init__(self, refresh_buffer: int = 600, metadata: Optional[list[tuple[str, str]]] = None):
10+
def __init__(self, refresh_interval_seconds: int = 600, metadata: Optional[list[tuple[str, str]]] = None):
1111
self.scope = "https://durabletask.io/.default"
12-
self.refresh_buffer = refresh_buffer
12+
self.refresh_interval_seconds = refresh_interval_seconds
1313
self._use_managed_identity = False
1414
self._metadata = metadata
1515
self._client_id = None
@@ -42,13 +42,13 @@ def get_access_token(self) -> str:
4242
self.refresh_token()
4343
return self.token
4444

45-
# Checks if the token is expired, or if it will expire in the next "refresh_buffer" seconds.
45+
# Checks if the token is expired, or if it will expire in the next "refresh_interval_seconds" seconds.
4646
# For example, if the token is created to have a lifespan of 2 hours, and the refresh buffer is set to 30 minutes,
4747
# We will grab a new token when there're 30minutes left on the lifespan of the token
4848
def is_token_expired(self) -> bool:
4949
if self.expiry_time is None:
5050
return True
51-
return datetime.now(timezone.utc) >= (self.expiry_time - timedelta(seconds=self.refresh_buffer))
51+
return datetime.now(timezone.utc) >= (self.expiry_time - timedelta(seconds=self.refresh_interval_seconds))
5252

5353
def refresh_token(self):
5454
new_token = self.credential.get_token(self.scope)
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,22 @@
33

44
from typing import Optional
55
from durabletask.worker import TaskHubGrpcWorker
6-
from durabletask.azuremanaged.access_token_manager import AccessTokenManager
6+
from durabletask.azuremanaged.internal.access_token_manager import AccessTokenManager
77
from durabletask.azuremanaged.durabletask_grpc_interceptor import DTSDefaultClientInterceptorImpl
88

99
# Worker class used for Durable Task Scheduler (DTS)
1010
class DurableTaskSchedulerWorker(TaskHubGrpcWorker):
11-
def __init__(self,
11+
def __init__(self, *,
1212
host_address: str,
13+
taskhub: str,
1314
secure_channel: bool,
1415
metadata: Optional[list[tuple[str, str]]] = None,
1516
use_managed_identity: Optional[bool] = False,
16-
client_id: Optional[str] = None,
17-
taskhub: str = None,
18-
**kwargs):
17+
client_id: Optional[str] = None):
1918

19+
if taskhub == None:
20+
raise ValueError("Taskhub value cannot be empty. Please provide a value for your taskhub")
21+
2022
# Ensure metadata is a list
2123
metadata = metadata or []
2224
self._metadata = metadata.copy() # Copy to prevent modifying input
@@ -37,9 +39,7 @@ def __init__(self,
3739
host_address=host_address,
3840
secure_channel=secure_channel,
3941
metadata=None,
40-
interceptors=interceptors,
41-
**kwargs
42-
)
42+
interceptors=interceptors)
4343

4444
def __update_metadata_with_token(self):
4545
"""

durabletask-azuremanaged/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
1010
[project]
1111
name = "durabletask.azuremanaged"
1212
version = "0.1b1"
13-
description = "An Azure Managed Backend for Durable Task Python SDK"
13+
description = "Extensions for the Durable Task Python SDK for integrating with the Durable Task Scheduler in Azure"
1414
keywords = [
1515
"durable",
1616
"task",

examples/dts/dts_activity_sequence.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
that calls an activity function in a sequence and prints the outputs."""
33
import os
44
from durabletask import client, task
5-
from durabletask.azuremanaged.durabletask_scheduler_worker import DurableTaskSchedulerWorker
6-
from durabletask.azuremanaged.durabletask_scheduler_client import DurableTaskSchedulerClient
5+
from durabletask.azuremanaged.worker import DurableTaskSchedulerWorker
6+
from durabletask.azuremanaged.client import DurableTaskSchedulerClient
77

88
def hello(ctx: task.ActivityContext, name: str) -> str:
99
"""Activity function that returns a greeting"""

examples/dts/dts_fanout_fanin.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
import os
77
from durabletask import client, task
88
from durabletask import client, task
9-
import DurableTaskSchedulerWorker
10-
import DurableTaskSchedulerClient
11-
9+
from durabletask.azuremanaged.worker import DurableTaskSchedulerWorker
10+
from durabletask.azuremanaged.client import DurableTaskSchedulerClient
1211

1312
def get_work_items(ctx: task.ActivityContext, _) -> list[str]:
1413
"""Activity function that returns a list of work items"""

requirements.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ grpcio>=1.60.0 # 1.60.0 is the version introducing protobuf 1.25.X support, newe
33
protobuf
44
pytest
55
pytest-cov
6-
azure-identity
7-
durabletask-azuremanaged
6+
azure-identity

0 commit comments

Comments
 (0)