Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions temporal/api/workflowservice/v1/request_response.proto
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,10 @@ message StartWorkflowExecutionRequest {
// StartWorkflowExecution.
temporal.api.failure.v1.Failure continued_failure = 18;
temporal.api.common.v1.Payloads last_completion_result = 19;
// Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
// If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
// of the delay will be ignored.
google.protobuf.Duration workflow_start_delay = 20 [(gogoproto.stdduration) = true];
}

message StartWorkflowExecutionResponse {
Expand Down Expand Up @@ -625,6 +629,12 @@ message SignalWithStartWorkflowExecutionRequest {
temporal.api.common.v1.Memo memo = 17;
temporal.api.common.v1.SearchAttributes search_attributes = 18;
temporal.api.common.v1.Header header = 19;
// Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
// Note that the signal will be delivered with the first workflow task. If the workflow gets
// another SignalWithStartWorkflow before the delay, a workflow task will be dispatched immediately
// and the rest of the delay period will be ignored, even if that request also had a delay. Signal
// via SignalWorkflowExecution will not unblock the workflow.
google.protobuf.Duration workflow_start_delay = 20 [(gogoproto.stdduration) = true];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one doesn't actually make much sense to me. The point is to start a workflow and immediately send it a signal, which usually means that the caller wants it to handle the signal as soon as possible. We already have a bunch of inconsistent/buggy behavior around delayed workflow start + signals, so I'd rather just leave this out and make this impossible to specify.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Talked internally, this is fine, but please change the comment to include more details

}

message SignalWithStartWorkflowExecutionResponse {
Expand Down