44
signalWithStartRequest.WorkflowIdConflictPolicy != enumspb.WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING &&
45
signalWithStartRequest.WorkflowIdConflictPolicy != enumspb.WORKFLOW_ID_CONFLICT_POLICY_FAIL {
47
>
// current workflow exists & running
48
>
if err := signalWorkflow(
49
>
ctx,
50
>
shard,
51
>
currentWorkflowLease,
52
>
signalWithStartRequest,
53
>
); err != nil {
54
return startOutcome{}, err
55
}
56
58
>
if err != nil {
59
return startOutcome{}, err
60
}
62
>
runID: currentWorkflowLease.GetContext().GetWorkflowKey().RunID,
63
>
firstExecutionRunID: firstExecutionRunID,
64
>
started: false,
65
>
}, nil
66
}
67
// else, either workflow is not running or restart requested