-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Labels
feature requestNew feature or requestNew feature or request
Description
Right now, async work that happens in a process that lives longer than the main Transaction process won't get included because the Transaction completes when the main process exits.
We could modify this so that we wait for that async work to finish, so that the Transaction includes it.
Not certain this will be a good idea or not, given that we have no control over how long process live for. This could cause a Transaction to stay open indefinitely, which would essentially be a memory leak.
Possible solutions:
- By default, wait until all tracked processes finish before completing a Transaction
- Potentially have a timeout so that there's a max time we'd wait
- Have a function that can be called in a Transaction to flag it so that we'll wait
Issues to figure out:
- What should the Transaction end time be? End of the initial process? End of the last async process?
- What about Transactions manually started and stopped. We currently rely on the
stop_transactionbehavior in order to allow another Transaction to start right after another in the same process. The pid is the key into the Transaction here- This might be a blocker
Metadata
Metadata
Assignees
Labels
feature requestNew feature or requestNew feature or request