We are currently working on a synchronous update feature that would directly support your use case. Until then you can use the following workaround:
- Execute workflow synchronously
- The workflow updates DB and starts a child workflow in an abandoned mode. See this post for details.
- Complete the workflow
- The child workflow performs the queueing.