This sample demonstrates how to achieve synchronous interaction with a main workflow.
We call this pattern a proxy workflow. The proxy workflow sends a signal to the main workflow and then blocks waiting for a signal in response.
This mimics a synchronous SendAndReceiveSignal feature which Temporal does not currently provide natively.
The flow of calls is outlined in the diagram below.
- Run a Temporal service.
- Run the following command to start the worker
go run synchronous-proxy/worker/main.go- Run the following command to start the simple UI
go run synchronous-proxy/ui/main.goOnce the UI has exited you will be able to see delivery details in the worker output, as might have been emailed to you in a real implementation.
