Scheduling guide
Input source | Sink submissionTemporal Input and Sink
How durable executions enter the graph and graph values start durable work.
When to use
Use this page while designing, implementing, operating, or troubleshooting scheduled and durable execution.
Behavior
- Input handlers collect worker values into an Input stream.
- Sinks derive a message ID, submit durable execution, and optionally wait for a result.
- Execution IDs derive deterministically from endpoint and message identity; duplicate starts reuse an owned execution after memo validation.
Sink submission flow
GraphSink valueMessage reaches a Temporal Sink.
IdentityMessage IDDerive stable execution identity.
TemporalStart or reuseValidate ownership and submit.
CompletionAccept or wait
waitForResult chooses boundary.Contracts properties
User-facing handler shape.
PropertyTypeDescription
Go InputTemporal source handlerBeginRequest, ConsumeMessage, EndRequest; consume uses StreamContext collection.
Go SinkTemporal sink handlerGetMessageID, BeginRequest, EndRequest; framework owns submission.
Python InputTemporal source handlerbegin_request, consume_message, end_request.
Python Sinkdirect framework sinkGenerated maker binds framework-owned submission behavior.
TypeScript InputTemporalEndpointHandlerbeginRequest, consumeMessage, endRequest.
TypeScript SinkTemporalEndpointHandlerbeginRequest, getMessageId, endRequest.
Product-level example
Sink<T> -> getMessageId(value) -> execution ID -> Activity or Workflow