832
}
833
835
>
args.operation = op.Operation
836
>
args.token = op.OperationToken
837
>
args.endpointID = op.EndpointId
838
>
args.endpointName = op.Endpoint
839
>
args.requestID = op.RequestId
840
>
args.scheduledTime = op.ScheduledTime.AsTime()
841
>
args.startedTime = op.StartedTime.AsTime()
842
>
args.scheduleToCloseTimeout = op.ScheduleToCloseTimeout.AsDuration()
843
>
args.startToCloseTimeout = op.StartToCloseTimeout.AsDuration()
844
>
args.scheduledEventID, err = hsm.EventIDFromToken(op.ScheduledEventToken)
845
>
if err != nil {
846
return err
847
}
848
// Load header from the scheduled event so we can propagate it to CancelOperation.
849
>
event, err := n.Parent.LoadHistoryEvent(ctx, op.ScheduledEventToken)
executors.go
850
>
if err != nil {
851
return err
852
}
853
>
if attrs := event.GetNexusOperationScheduledEventAttributes(); attrs != nil {
executors.go
854
>
args.headers = maps.Clone(attrs.GetNexusHeader())
855
>
args.payload = attrs.GetInput()
856
>
}
857
>
return nil
858
})
859
return
860
}
861
862
>
func (e taskExecutor) saveCancelationResult(ctx context.Context, env hsm.Environment, ref hsm.Ref, callErr error, scheduledEventID int64) error {
executors.go
863
>
return env.Access(ctx, ref, hsm.AccessWrite, func(n *hsm.Node) error {
864
>
return hsm.MachineTransition(n, func(c Cancelation) (hsm.TransitionOutput, error) {
865
>
if callErr != nil {
866
var handlerErr *nexus.HandlerError
867
var opTimeoutBelowMinErr *operationTimeoutBelowMinError