Skip to content

Commit 62d7c03

Browse files
committed
Use unfinished_policy=HandlerUnfinishedPolicy.XXX
1 parent 21a5ed5 commit 62d7c03

File tree

3 files changed

+28
-28
lines changed

3 files changed

+28
-28
lines changed

temporalio/worker/_workflow_instance.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,8 +1622,8 @@ def warnable(handler_executions: Iterable[HandlerExecution]):
16221622
return [
16231623
ex
16241624
for ex in handler_executions
1625-
if ex.unfinished_handlers_policy
1626-
== temporalio.workflow.UnfinishedHandlersPolicy.WARN_AND_ABANDON
1625+
if ex.unfinished_policy
1626+
== temporalio.workflow.HandlerUnfinishedPolicy.WARN_AND_ABANDON
16271627
]
16281628

16291629
warnable_updates = warnable(self._in_progress_updates.values())
@@ -2742,7 +2742,7 @@ class HandlerExecution:
27422742
"""Information about an execution of a signal or update handler."""
27432743

27442744
name: str
2745-
unfinished_handlers_policy: temporalio.workflow.UnfinishedHandlersPolicy
2745+
unfinished_policy: temporalio.workflow.HandlerUnfinishedPolicy
27462746
id: Optional[str] = None
27472747

27482748

@@ -2764,7 +2764,7 @@ def __str__(self) -> str:
27642764
Alternatively, if both you and the clients sending updates and signals are okay with interrupting
27652765
running handlers when the workflow finishes, and causing clients to receive errors, then you can
27662766
disable this warning via the update handler decorator:
2767-
`@workflow.update(unfinished_handlers_policy=workflow.UnfinishedHandlersPolicy.ABANDON)`.
2767+
`@workflow.update(unfinished_policy=workflow.HandlerUnfinishedPolicy.ABANDON)`.
27682768
""".replace(
27692769
"\n", " "
27702770
).strip()
@@ -2793,7 +2793,7 @@ def __str__(self) -> str:
27932793
you and the clients sending updates and signals are okay with interrupting running handlers when the
27942794
workflow finishes, and causing clients to receive errors, then you can disable this warning via the
27952795
signal handler decorator:
2796-
`@workflow.signal(unfinished_handlers_policy=workflow.UnfinishedHandlersPolicy.ABANDON)`.
2796+
`@workflow.signal(unfinished_policy=workflow.HandlerUnfinishedPolicy.ABANDON)`.
27972797
""".replace(
27982798
"\n", " "
27992799
).strip()

temporalio/workflow.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def run(fn: CallableAsyncType) -> CallableAsyncType:
173173
return fn # type: ignore[return-value]
174174

175175

176-
class UnfinishedHandlersPolicy(Enum):
176+
class HandlerUnfinishedPolicy(Enum):
177177
"""Actions taken if a workflow terminates with running handlers.
178178
179179
Policy defining actions taken when a workflow exits while update or signal handlers are running.
@@ -195,7 +195,7 @@ def signal(fn: CallableSyncOrAsyncReturnNoneType) -> CallableSyncOrAsyncReturnNo
195195
@overload
196196
def signal(
197197
*,
198-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
198+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
199199
) -> Callable[[CallableSyncOrAsyncReturnNoneType], CallableSyncOrAsyncReturnNoneType]:
200200
...
201201

@@ -204,7 +204,7 @@ def signal(
204204
def signal(
205205
*,
206206
name: str,
207-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
207+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
208208
) -> Callable[[CallableSyncOrAsyncReturnNoneType], CallableSyncOrAsyncReturnNoneType]:
209209
...
210210

@@ -213,7 +213,7 @@ def signal(
213213
def signal(
214214
*,
215215
dynamic: Literal[True],
216-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
216+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
217217
) -> Callable[[CallableSyncOrAsyncReturnNoneType], CallableSyncOrAsyncReturnNoneType]:
218218
...
219219

@@ -223,7 +223,7 @@ def signal(
223223
*,
224224
name: Optional[str] = None,
225225
dynamic: Optional[bool] = False,
226-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
226+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
227227
):
228228
"""Decorator for a workflow signal method.
229229
@@ -250,7 +250,7 @@ def signal(
250250

251251
def decorator(
252252
name: Optional[str],
253-
unfinished_policy: UnfinishedHandlersPolicy,
253+
unfinished_policy: HandlerUnfinishedPolicy,
254254
fn: CallableSyncOrAsyncReturnNoneType,
255255
) -> CallableSyncOrAsyncReturnNoneType:
256256
if not name and not dynamic:
@@ -965,7 +965,7 @@ def update(
965965
@overload
966966
def update(
967967
*,
968-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
968+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
969969
) -> Callable[
970970
[Callable[MultiParamSpec, ReturnType]],
971971
UpdateMethodMultiParam[MultiParamSpec, ReturnType],
@@ -977,7 +977,7 @@ def update(
977977
def update(
978978
*,
979979
name: str,
980-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
980+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
981981
) -> Callable[
982982
[Callable[MultiParamSpec, ReturnType]],
983983
UpdateMethodMultiParam[MultiParamSpec, ReturnType],
@@ -989,7 +989,7 @@ def update(
989989
def update(
990990
*,
991991
dynamic: Literal[True],
992-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
992+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
993993
) -> Callable[
994994
[Callable[MultiParamSpec, ReturnType]],
995995
UpdateMethodMultiParam[MultiParamSpec, ReturnType],
@@ -1002,7 +1002,7 @@ def update(
10021002
*,
10031003
name: Optional[str] = None,
10041004
dynamic: Optional[bool] = False,
1005-
unfinished_policy: UnfinishedHandlersPolicy = UnfinishedHandlersPolicy.WARN_AND_ABANDON,
1005+
unfinished_policy: HandlerUnfinishedPolicy = HandlerUnfinishedPolicy.WARN_AND_ABANDON,
10061006
):
10071007
"""Decorator for a workflow update handler method.
10081008
@@ -1036,7 +1036,7 @@ def update(
10361036

10371037
def decorator(
10381038
name: Optional[str],
1039-
unfinished_policy: UnfinishedHandlersPolicy,
1039+
unfinished_policy: HandlerUnfinishedPolicy,
10401040
fn: CallableSyncOrAsyncType,
10411041
) -> CallableSyncOrAsyncType:
10421042
if not name and not dynamic:
@@ -1517,8 +1517,8 @@ class _SignalDefinition:
15171517
name: Optional[str]
15181518
fn: Callable[..., Union[None, Awaitable[None]]]
15191519
is_method: bool
1520-
unfinished_policy: UnfinishedHandlersPolicy = (
1521-
UnfinishedHandlersPolicy.WARN_AND_ABANDON
1520+
unfinished_policy: HandlerUnfinishedPolicy = (
1521+
HandlerUnfinishedPolicy.WARN_AND_ABANDON
15221522
)
15231523
# Types loaded on post init if None
15241524
arg_types: Optional[List[Type]] = None
@@ -1601,8 +1601,8 @@ class _UpdateDefinition:
16011601
name: Optional[str]
16021602
fn: Callable[..., Union[Any, Awaitable[Any]]]
16031603
is_method: bool
1604-
unfinished_policy: UnfinishedHandlersPolicy = (
1605-
UnfinishedHandlersPolicy.WARN_AND_ABANDON
1604+
unfinished_policy: HandlerUnfinishedPolicy = (
1605+
HandlerUnfinishedPolicy.WARN_AND_ABANDON
16061606
)
16071607
# Types loaded on post init if None
16081608
arg_types: Optional[List[Type]] = None

tests/worker/test_workflow.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5117,12 +5117,12 @@ async def _do_update_or_signal(self) -> None:
51175117
async def my_update(self) -> None:
51185118
await self._do_update_or_signal()
51195119

5120-
@workflow.update(unfinished_policy=workflow.UnfinishedHandlersPolicy.ABANDON)
5120+
@workflow.update(unfinished_policy=workflow.HandlerUnfinishedPolicy.ABANDON)
51215121
async def my_update_ABANDON(self) -> None:
51225122
await self._do_update_or_signal()
51235123

51245124
@workflow.update(
5125-
unfinished_policy=workflow.UnfinishedHandlersPolicy.WARN_AND_ABANDON
5125+
unfinished_policy=workflow.HandlerUnfinishedPolicy.WARN_AND_ABANDON
51265126
)
51275127
async def my_update_WARN_AND_ABANDON(self) -> None:
51285128
await self._do_update_or_signal()
@@ -5131,12 +5131,12 @@ async def my_update_WARN_AND_ABANDON(self) -> None:
51315131
async def my_signal(self):
51325132
await self._do_update_or_signal()
51335133

5134-
@workflow.signal(unfinished_policy=workflow.UnfinishedHandlersPolicy.ABANDON)
5134+
@workflow.signal(unfinished_policy=workflow.HandlerUnfinishedPolicy.ABANDON)
51355135
async def my_signal_ABANDON(self):
51365136
await self._do_update_or_signal()
51375137

51385138
@workflow.signal(
5139-
unfinished_policy=workflow.UnfinishedHandlersPolicy.WARN_AND_ABANDON
5139+
unfinished_policy=workflow.HandlerUnfinishedPolicy.WARN_AND_ABANDON
51405140
)
51415141
async def my_signal_WARN_AND_ABANDON(self):
51425142
await self._do_update_or_signal()
@@ -5164,10 +5164,10 @@ async def run_test(self):
51645164
wait_for_handlers=False,
51655165
)
51665166
assert not handler_finished and warning
5167-
# and when the workflow sets the unfinished_handlers_policy to WARN_AND_ABANDON,
5167+
# and when the workflow sets the unfinished_policy to WARN_AND_ABANDON,
51685168
handler_finished, warning = await self.get_workflow_result_and_warning(
51695169
wait_for_handlers=False,
5170-
unfinished_policy=workflow.UnfinishedHandlersPolicy.WARN_AND_ABANDON,
5170+
unfinished_policy=workflow.HandlerUnfinishedPolicy.WARN_AND_ABANDON,
51715171
)
51725172
assert not handler_finished and warning
51735173
# but not when the workflow waits for handlers to complete,
@@ -5178,14 +5178,14 @@ async def run_test(self):
51785178
# nor when the silence-warnings policy is set on the handler.
51795179
handler_finished, warning = await self.get_workflow_result_and_warning(
51805180
wait_for_handlers=False,
5181-
unfinished_policy=workflow.UnfinishedHandlersPolicy.ABANDON,
5181+
unfinished_policy=workflow.HandlerUnfinishedPolicy.ABANDON,
51825182
)
51835183
assert not handler_finished and not warning
51845184

51855185
async def get_workflow_result_and_warning(
51865186
self,
51875187
wait_for_handlers: bool,
5188-
unfinished_policy: Optional[workflow.UnfinishedHandlersPolicy] = None,
5188+
unfinished_policy: Optional[workflow.HandlerUnfinishedPolicy] = None,
51895189
) -> Tuple[bool, bool]:
51905190
handle = await self.client.start_workflow(
51915191
UnfinishedHandlersWorkflow.run,

0 commit comments

Comments
 (0)