651
// continue-as-new, rather than the started workflow's callback state which is re-stamped on each
652
// new run.
653
>
callback, err := chasm.GenerateNexusCallback(schedulerRef, start.RequestId, h.config.EncodeInternalTokenWithEnvelope(scheduler.Namespace))
invoker_tasks.go
654
>
if err != nil {
655
return err
656
}
657
>
request := &workflowservice.StartWorkflowExecutionRequest{
invoker_tasks.go
658
>
CompletionCallbacks: []*commonpb.Callback{callback},
659
>
Header: requestSpec.Header,
660
>
Identity: scheduler.identity(),
661
>
Input: requestSpec.Input,
662
>
Memo: requestSpec.Memo,
663
>
Namespace: scheduler.Namespace,
664
>
RequestId: start.RequestId,
665
>
RetryPolicy: requestSpec.RetryPolicy,
666
>
SearchAttributes: scheduler.startWorkflowSearchAttributes(start.NominalTime.AsTime()),
667
>
TaskQueue: requestSpec.TaskQueue,
668
>
UserMetadata: requestSpec.UserMetadata,
669
>
WorkflowExecutionTimeout: requestSpec.WorkflowExecutionTimeout,
670
>
WorkflowId: start.WorkflowId,
671
>
WorkflowIdReusePolicy: reusePolicy,
672
>
WorkflowRunTimeout: requestSpec.WorkflowRunTimeout,
673
>
WorkflowTaskTimeout: requestSpec.WorkflowTaskTimeout,
674
>
WorkflowType: requestSpec.WorkflowType,
675
>
Priority: requestSpec.Priority,
676
>
ContinuedFailure: lastCompletionState.Failure,
677
>
LastCompletionResult: &commonpb.Payloads{
678
>
Payloads: lcr,
679
>
},
680
>
}
681
>
682
>
result, err := h.frontendClient.StartWorkflowExecution(ctx, request)
683
>
if err != nil {
684
return err
685
}