Skip to content

Commit 5faa4dd

Browse files
committed
Merge ActivityIdReference and AsyncActivityIDReference
1 parent ff765ad commit 5faa4dd

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

temporalio/client.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3014,26 +3014,22 @@ class ActivityExecutionDescription:
30143014

30153015
@dataclass(frozen=True)
30163016
class ActivityIDReference:
3017-
"""Reference to a standalone activity."""
3017+
"""Information identifying an activity execution."""
30183018

3019-
activity_id: str
3019+
workflow_id: Optional[str]
30203020
run_id: Optional[str]
3021+
activity_id: str
30213022

30223023

3023-
@dataclass(frozen=True)
3024-
class AsyncActivityIDReference:
3025-
"""Reference to an async activity by its qualified ID."""
3026-
3027-
workflow_id: str
3028-
run_id: Optional[str]
3029-
activity_id: str
3024+
# Deprecated alias
3025+
AsyncActivityIDReference = ActivityIDReference
30303026

30313027

30323028
class _BaseActivityHandle:
30333029
"""Handle representing an activity."""
30343030

30353031
_client: Client
3036-
_id_or_token: Union[ActivityIDReference, AsyncActivityIDReference, bytes]
3032+
_id_or_token: Union[ActivityIDReference, bytes]
30373033

30383034
async def heartbeat(
30393035
self,
@@ -3137,7 +3133,7 @@ class WorkflowActivityHandle(_BaseActivityHandle):
31373133
"""Handle representing an activity started by a workflow."""
31383134

31393135
def __init__(
3140-
self, client: Client, id_or_token: Union[AsyncActivityIDReference, bytes]
3136+
self, client: Client, id_or_token: Union[ActivityIDReference, bytes]
31413137
) -> None:
31423138
"""Create an handle to an activity started by a workflow."""
31433139
self._client = client
@@ -3163,7 +3159,9 @@ def __init__(self, client: Client, id: str, run_id: Optional[str] = None) -> Non
31633159
run_id: The run ID of the activity.
31643160
"""
31653161
self._client = client
3166-
self._id_or_token = ActivityIDReference(activity_id=id, run_id=run_id)
3162+
self._id_or_token = ActivityIDReference(
3163+
activity_id=id, run_id=run_id, workflow_id=None
3164+
)
31673165
self.run_id = run_id
31683166

31693167
async def result(
@@ -5890,7 +5888,7 @@ class StartWorkflowUpdateWithStartInput:
58905888
class HeartbeatAsyncActivityInput:
58915889
"""Input for :py:meth:`OutboundInterceptor.heartbeat_async_activity`."""
58925890

5893-
id_or_token: Union[AsyncActivityIDReference, ActivityIDReference, bytes]
5891+
id_or_token: Union[ActivityIDReference, bytes]
58945892
details: Sequence[Any]
58955893
rpc_metadata: Mapping[str, Union[str, bytes]]
58965894
rpc_timeout: Optional[timedelta]
@@ -5900,7 +5898,7 @@ class HeartbeatAsyncActivityInput:
59005898
class CompleteAsyncActivityInput:
59015899
"""Input for :py:meth:`OutboundInterceptor.complete_async_activity`."""
59025900

5903-
id_or_token: Union[AsyncActivityIDReference, ActivityIDReference, bytes]
5901+
id_or_token: Union[ActivityIDReference, bytes]
59045902
result: Optional[Any]
59055903
rpc_metadata: Mapping[str, Union[str, bytes]]
59065904
rpc_timeout: Optional[timedelta]
@@ -5910,7 +5908,7 @@ class CompleteAsyncActivityInput:
59105908
class FailAsyncActivityInput:
59115909
"""Input for :py:meth:`OutboundInterceptor.fail_async_activity`."""
59125910

5913-
id_or_token: Union[AsyncActivityIDReference, ActivityIDReference, bytes]
5911+
id_or_token: Union[ActivityIDReference, bytes]
59145912
error: Exception
59155913
last_heartbeat_details: Sequence[Any]
59165914
rpc_metadata: Mapping[str, Union[str, bytes]]
@@ -5921,7 +5919,7 @@ class FailAsyncActivityInput:
59215919
class ReportCancellationAsyncActivityInput:
59225920
"""Input for :py:meth:`OutboundInterceptor.report_cancellation_async_activity`."""
59235921

5924-
id_or_token: Union[AsyncActivityIDReference, ActivityIDReference, bytes]
5922+
id_or_token: Union[ActivityIDReference, bytes]
59255923
details: Sequence[Any]
59265924
rpc_metadata: Mapping[str, Union[str, bytes]]
59275925
rpc_timeout: Optional[timedelta]
@@ -6802,7 +6800,7 @@ async def heartbeat_async_activity(
68026800
if isinstance(input.id_or_token, AsyncActivityIDReference):
68036801
resp_by_id = await self._client.workflow_service.record_activity_task_heartbeat_by_id(
68046802
temporalio.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest(
6805-
workflow_id=input.id_or_token.workflow_id,
6803+
workflow_id=input.id_or_token.workflow_id or "",
68066804
run_id=input.id_or_token.run_id or "",
68076805
activity_id=input.id_or_token.activity_id,
68086806
namespace=self._client.namespace,
@@ -6856,7 +6854,7 @@ async def complete_async_activity(self, input: CompleteAsyncActivityInput) -> No
68566854
if isinstance(input.id_or_token, AsyncActivityIDReference):
68576855
await self._client.workflow_service.respond_activity_task_completed_by_id(
68586856
temporalio.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest(
6859-
workflow_id=input.id_or_token.workflow_id,
6857+
workflow_id=input.id_or_token.workflow_id or "",
68606858
run_id=input.id_or_token.run_id or "",
68616859
activity_id=input.id_or_token.activity_id,
68626860
namespace=self._client.namespace,
@@ -6893,7 +6891,7 @@ async def fail_async_activity(self, input: FailAsyncActivityInput) -> None:
68936891
if isinstance(input.id_or_token, AsyncActivityIDReference):
68946892
await self._client.workflow_service.respond_activity_task_failed_by_id(
68956893
temporalio.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest(
6896-
workflow_id=input.id_or_token.workflow_id,
6894+
workflow_id=input.id_or_token.workflow_id or "",
68976895
run_id=input.id_or_token.run_id or "",
68986896
activity_id=input.id_or_token.activity_id,
68996897
namespace=self._client.namespace,
@@ -6930,7 +6928,7 @@ async def report_cancellation_async_activity(
69306928
if isinstance(input.id_or_token, AsyncActivityIDReference):
69316929
await self._client.workflow_service.respond_activity_task_canceled_by_id(
69326930
temporalio.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest(
6933-
workflow_id=input.id_or_token.workflow_id,
6931+
workflow_id=input.id_or_token.workflow_id or "",
69346932
run_id=input.id_or_token.run_id or "",
69356933
activity_id=input.id_or_token.activity_id,
69366934
namespace=self._client.namespace,

0 commit comments

Comments
 (0)