durabletask 0.0.0.dev70__tar.gz → 0.0.0.dev72__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/PKG-INFO +1 -1
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/client.py +9 -10
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/grpc_resiliency.py +2 -1
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/worker.py +5 -4
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/PKG-INFO +1 -1
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/pyproject.toml +1 -1
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/LICENSE +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/README.md +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/durable_entity.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_context.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_instance_id.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_lock.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_metadata.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_operation_failed_exception.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/extensions/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/extensions/azure_blob_payloads/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/extensions/azure_blob_payloads/blob_payload_store.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/extensions/azure_blob_payloads/options.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/grpc_options.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/history.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/client_helpers.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/entity_state_shim.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/exceptions.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/grpc_interceptor.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/helpers.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/history_helpers.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/json_encode_output_exception.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/orchestration_entity_context.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/orchestrator_service_pb2.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/orchestrator_service_pb2.pyi +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/orchestrator_service_pb2_grpc.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/proto_task_hub_sidecar_service_stub.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/shared.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/tracing.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/payload/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/payload/helpers.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/payload/store.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/py.typed +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/task.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/testing/__init__.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/testing/in_memory_backend.py +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/SOURCES.txt +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/dependency_links.txt +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/requires.txt +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/top_level.txt +0 -0
- {durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/setup.cfg +0 -0
|
@@ -224,7 +224,7 @@ class TaskHubGrpcClient:
|
|
|
224
224
|
method_name: str,
|
|
225
225
|
request: Any,
|
|
226
226
|
*,
|
|
227
|
-
timeout: Optional[
|
|
227
|
+
timeout: Optional[float] = None):
|
|
228
228
|
method = getattr(self._stub, method_name)
|
|
229
229
|
try:
|
|
230
230
|
if timeout is None:
|
|
@@ -406,7 +406,7 @@ class TaskHubGrpcClient:
|
|
|
406
406
|
|
|
407
407
|
def wait_for_orchestration_start(self, instance_id: str, *,
|
|
408
408
|
fetch_payloads: bool = False,
|
|
409
|
-
timeout:
|
|
409
|
+
timeout: float = 60) -> Optional[OrchestrationState]:
|
|
410
410
|
req = pb.GetInstanceRequest(instanceId=instance_id, getInputsAndOutputs=fetch_payloads)
|
|
411
411
|
try:
|
|
412
412
|
self._logger.info(f"Waiting up to {timeout}s for instance '{instance_id}' to start.")
|
|
@@ -427,7 +427,7 @@ class TaskHubGrpcClient:
|
|
|
427
427
|
|
|
428
428
|
def wait_for_orchestration_completion(self, instance_id: str, *,
|
|
429
429
|
fetch_payloads: bool = True,
|
|
430
|
-
timeout:
|
|
430
|
+
timeout: float = 60) -> Optional[OrchestrationState]:
|
|
431
431
|
req = pb.GetInstanceRequest(instanceId=instance_id, getInputsAndOutputs=fetch_payloads)
|
|
432
432
|
try:
|
|
433
433
|
self._logger.info(f"Waiting {timeout}s for instance '{instance_id}' to complete.")
|
|
@@ -685,7 +685,7 @@ class AsyncTaskHubGrpcClient:
|
|
|
685
685
|
method_name: str,
|
|
686
686
|
request: Any,
|
|
687
687
|
*,
|
|
688
|
-
timeout: Optional[
|
|
688
|
+
timeout: Optional[float] = None):
|
|
689
689
|
method = getattr(self._stub, method_name)
|
|
690
690
|
try:
|
|
691
691
|
if timeout is None:
|
|
@@ -733,10 +733,9 @@ class AsyncTaskHubGrpcClient:
|
|
|
733
733
|
await asyncio.sleep(30.0)
|
|
734
734
|
await channel.close()
|
|
735
735
|
finally:
|
|
736
|
-
|
|
737
|
-
self._retired_channels
|
|
738
|
-
|
|
739
|
-
pass
|
|
736
|
+
async with self._recreate_lock:
|
|
737
|
+
if channel in self._retired_channels:
|
|
738
|
+
self._retired_channels.remove(channel)
|
|
740
739
|
|
|
741
740
|
async def schedule_new_orchestration(self, orchestrator: Union[task.Orchestrator[TInput, TOutput], str], *,
|
|
742
741
|
input: Optional[TInput] = None,
|
|
@@ -843,7 +842,7 @@ class AsyncTaskHubGrpcClient:
|
|
|
843
842
|
|
|
844
843
|
async def wait_for_orchestration_start(self, instance_id: str, *,
|
|
845
844
|
fetch_payloads: bool = False,
|
|
846
|
-
timeout:
|
|
845
|
+
timeout: float = 60) -> Optional[OrchestrationState]:
|
|
847
846
|
req = pb.GetInstanceRequest(instanceId=instance_id, getInputsAndOutputs=fetch_payloads)
|
|
848
847
|
try:
|
|
849
848
|
self._logger.info(f"Waiting up to {timeout}s for instance '{instance_id}' to start.")
|
|
@@ -863,7 +862,7 @@ class AsyncTaskHubGrpcClient:
|
|
|
863
862
|
|
|
864
863
|
async def wait_for_orchestration_completion(self, instance_id: str, *,
|
|
865
864
|
fetch_payloads: bool = True,
|
|
866
|
-
timeout:
|
|
865
|
+
timeout: float = 60) -> Optional[OrchestrationState]:
|
|
867
866
|
req = pb.GetInstanceRequest(instanceId=instance_id, getInputsAndOutputs=fetch_payloads)
|
|
868
867
|
try:
|
|
869
868
|
self._logger.info(f"Waiting {timeout}s for instance '{instance_id}' to complete.")
|
|
@@ -13,7 +13,8 @@ def get_full_jitter_delay_seconds(
|
|
|
13
13
|
attempt: int,
|
|
14
14
|
*,
|
|
15
15
|
base_seconds: float,
|
|
16
|
-
cap_seconds: float
|
|
16
|
+
cap_seconds: float,
|
|
17
|
+
) -> float:
|
|
17
18
|
capped_attempt = min(attempt, 30)
|
|
18
19
|
upper_bound = min(cap_seconds, base_seconds * (2 ** capped_attempt))
|
|
19
20
|
return random.random() * upper_bound
|
|
@@ -194,7 +194,7 @@ class _InFlightChannelTracker:
|
|
|
194
194
|
try:
|
|
195
195
|
channel.close()
|
|
196
196
|
except Exception:
|
|
197
|
-
|
|
197
|
+
logging.debug("Ignoring channel close failure during worker cleanup.", exc_info=True)
|
|
198
198
|
|
|
199
199
|
|
|
200
200
|
class VersioningOptions:
|
|
@@ -744,9 +744,10 @@ class TaskHubGrpcWorker:
|
|
|
744
744
|
|
|
745
745
|
def wrap_execution(handler, release):
|
|
746
746
|
def wrapped(*args, **kwargs):
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
747
|
+
try:
|
|
748
|
+
return handler(*args, **kwargs)
|
|
749
|
+
finally:
|
|
750
|
+
release()
|
|
750
751
|
|
|
751
752
|
return wrapped
|
|
752
753
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/entities/entity_instance_id.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/entity_state_shim.py
RENAMED
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/grpc_interceptor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/internal/orchestrator_service_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask/testing/in_memory_backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{durabletask-0.0.0.dev70 → durabletask-0.0.0.dev72}/durabletask.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|