@@ -214,9 +214,8 @@ def _cancel(
214
214
warnings .warn (f"Cannot find activity to cancel for token { task_token !r} " )
215
215
return
216
216
logger .debug ("Cancelling activity %s, reason: %s" , task_token , cancel .reason )
217
- activity .cancellation_details = (
218
- temporalio .activity .ActivityCancellationDetails ._fromProto (cancel .details )
219
- )
217
+ activity .cancellation_details .cancelled = cancel .details .is_cancelled
218
+ activity .cancellation_details .paused = cancel .details .is_paused
220
219
activity .cancel (cancelled_by_request = True )
221
220
222
221
def _heartbeat (self , task_token : bytes , * details : Any ) -> None :
@@ -424,7 +423,8 @@ async def _run_activity(
424
423
headers = start .header_fields ,
425
424
)
426
425
427
- running_activity .cancellation_details = None
426
+ cancellation_details = temporalio .activity .ActivityCancellationDetails ()
427
+ running_activity .cancellation_details = cancellation_details
428
428
429
429
# Set the context early so the logging adapter works and
430
430
# interceptors have it
@@ -442,7 +442,7 @@ async def _run_activity(
442
442
if sync_non_threaded
443
443
else self ._metric_meter ,
444
444
# Function reference to the running activity's cancellation details
445
- cancellation_details = lambda : running_activity . cancellation_details ,
445
+ cancellation_details = cancellation_details ,
446
446
)
447
447
)
448
448
temporalio .activity .logger .debug ("Starting activity" )
@@ -553,8 +553,8 @@ class _RunningActivity:
553
553
done : bool = False
554
554
cancelled_by_request : bool = False
555
555
cancelled_due_to_heartbeat_error : Optional [Exception ] = None
556
- cancellation_details : Optional [ temporalio .activity .ActivityCancellationDetails ] = (
557
- None
556
+ cancellation_details : temporalio .activity .ActivityCancellationDetails = (
557
+ temporalio . activity . ActivityCancellationDetails ()
558
558
)
559
559
560
560
def cancel (
@@ -751,9 +751,7 @@ def _execute_sync_activity(
751
751
temporalio .converter .PayloadConverter ,
752
752
],
753
753
runtime_metric_meter : Optional [temporalio .common .MetricMeter ],
754
- cancellation_details : Callable [
755
- [], Optional [temporalio .activity .ActivityCancellationDetails ]
756
- ],
754
+ cancellation_details : Optional [temporalio .activity .ActivityCancellationDetails ],
757
755
fn : Callable [..., Any ],
758
756
* args : Any ,
759
757
) -> Any :
0 commit comments