durabletask 1.3.0.dev13__tar.gz → 1.3.0.dev14__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.
Files changed (31) hide show
  1. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/PKG-INFO +1 -1
  2. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/worker.py +16 -1
  3. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask.egg-info/PKG-INFO +1 -1
  4. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/pyproject.toml +1 -1
  5. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/LICENSE +0 -0
  6. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/README.md +0 -0
  7. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/__init__.py +0 -0
  8. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/client.py +0 -0
  9. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/__init__.py +0 -0
  10. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/durable_entity.py +0 -0
  11. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/entity_context.py +0 -0
  12. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/entity_instance_id.py +0 -0
  13. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/entity_lock.py +0 -0
  14. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/entities/entity_metadata.py +0 -0
  15. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/entity_state_shim.py +0 -0
  16. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/exceptions.py +0 -0
  17. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/grpc_interceptor.py +0 -0
  18. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/helpers.py +0 -0
  19. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/orchestration_entity_context.py +0 -0
  20. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/orchestrator_service_pb2.py +0 -0
  21. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/orchestrator_service_pb2.pyi +0 -0
  22. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/orchestrator_service_pb2_grpc.py +0 -0
  23. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/proto_task_hub_sidecar_service_stub.py +0 -0
  24. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/internal/shared.py +0 -0
  25. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/py.typed +0 -0
  26. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask/task.py +0 -0
  27. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask.egg-info/SOURCES.txt +0 -0
  28. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask.egg-info/dependency_links.txt +0 -0
  29. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask.egg-info/requires.txt +0 -0
  30. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/durabletask.egg-info/top_level.txt +0 -0
  31. {durabletask-1.3.0.dev13 → durabletask-1.3.0.dev14}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: durabletask
3
- Version: 1.3.0.dev13
3
+ Version: 1.3.0.dev14
4
4
  Summary: A Durable Task Client SDK for Python
5
5
  License: MIT License
6
6
 
@@ -1913,6 +1913,7 @@ class _EntityExecutor:
1913
1913
  def __init__(self, registry: _Registry, logger: logging.Logger):
1914
1914
  self._registry = registry
1915
1915
  self._logger = logger
1916
+ self._entity_method_cache: dict[tuple[type, str], bool] = {}
1916
1917
 
1917
1918
  def execute(
1918
1919
  self,
@@ -1948,7 +1949,21 @@ class _EntityExecutor:
1948
1949
  raise TypeError(f"Entity operation '{operation}' is not callable")
1949
1950
  # Execute the entity method
1950
1951
  entity_instance._initialize_entity_context(ctx)
1951
- entity_output = method(entity_input)
1952
+ cache_key = (type(entity_instance), operation)
1953
+ has_required_param = self._entity_method_cache.get(cache_key)
1954
+ if has_required_param is None:
1955
+ sig = inspect.signature(method)
1956
+ has_required_param = any(
1957
+ p.default == inspect.Parameter.empty
1958
+ for p in sig.parameters.values()
1959
+ if p.kind not in (inspect.Parameter.VAR_POSITIONAL,
1960
+ inspect.Parameter.VAR_KEYWORD)
1961
+ )
1962
+ self._entity_method_cache[cache_key] = has_required_param
1963
+ if has_required_param or entity_input is not None:
1964
+ entity_output = method(entity_input)
1965
+ else:
1966
+ entity_output = method()
1952
1967
  else:
1953
1968
  # Execute the entity function
1954
1969
  entity_output = fn(ctx, entity_input)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: durabletask
3
- Version: 1.3.0.dev13
3
+ Version: 1.3.0.dev14
4
4
  Summary: A Durable Task Client SDK for Python
5
5
  License: MIT License
6
6
 
@@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta"
9
9
 
10
10
  [project]
11
11
  name = "durabletask"
12
- version = "1.3.0.dev13"
12
+ version = "1.3.0.dev14"
13
13
  description = "A Durable Task Client SDK for Python"
14
14
  keywords = [
15
15
  "durable",