Building a sync API to do distributed transaction

We would still want to run #1 and #2 synchronously and #3 and #4 asynchronously? Is that possible?

We plan to add direct support for “block start call until workflow unblocks it” feature. In the meantime the simplest workaround is:

  1. Execute workflow synchronously waiting for it to complete
  2. Workflow executes #1 & #2
  3. Workflow starts a child workflow in disconnected mode.
  4. Workflow completes unblocking the original thread that started it
  5. The child workflow executes #3 & #4 in the background