270
},
271
activitypb.ACTIVITY_EXECUTION_STATUS_TERMINATED,
272
>
func(a *Activity, ctx chasm.MutableContext, event terminateEvent) error {
statemachine.go
273
>
return a.StoreOrSelf(ctx).RecordCompleted(ctx, func(ctx chasm.MutableContext) error {
274
>
a.TerminateState = &activitypb.ActivityTerminateState{
275
>
RequestId: event.request.RequestID,
276
>
}
277
>
outcome := a.Outcome.Get(ctx)
278
>
failure := &failurepb.Failure{
279
>
Message: event.request.Reason,
280
>
FailureInfo: &failurepb.Failure_TerminatedFailureInfo{
281
>
TerminatedFailureInfo: &failurepb.TerminatedFailureInfo{
282
>
Identity: event.request.Identity,
283
>
},
284
>
},
285
>
}
286
>
outcome.Variant = &activitypb.ActivityOutcome_Failed_{
287
>
Failed: &activitypb.ActivityOutcome_Failed{
288
>
Failure: failure,
289
>
},
290
>
}
291
>
292
>
a.emitOnTerminatedMetrics(event.metricsHandler)
293
>
294
>
return nil
295
>
})
296
},
297
)